Bu windowsçuların çok basit şeyleri çok karmaşık yapmakta üstlerine yok. Şimdi basitçe Cin Ali tarzı basit paralel porta erişim sağlayan bir D programı yazmak istiyorum. Ubuntu tarafı bir kaç saniyelik iş..
Ama yeni bilgisayarımın grafik kartı için Intel Ubuntu için ekran kartı sürücüleri yayınlamadığı için tabiri caizse tırmalıyorum :rolleyes:
Burada anlatılanlara göre (http://stackoverflow.com/questions/11390640/d-accessing-parallel-port-under-windows) Windows ortamında paralel porta erişmek için C ile bir aygıt sürücüsü yazmak gerekiyormuş. (WinDDK kullanarak) Eğer aygıt sürücüsünü diğer bilgisayarlarda ya da 64 bitte çalıştırmak için dijital imza içeren bir sertifika satın almak gerekiyormuş.
Neyse tam birilerinin böyle bir sürücüyü zaten yazdığını öğrendiğimde sevinmiştim ki (kullanımı da çok kolaydı) bu sürücü sadece XP ve 2000 altında çalışıyormuş. Windows 7'yi desteklemiyor.
Sonunda bu adreste (http://www.highrez.co.uk/Downloads/InpOut32/default.htm) giriş çıkış için başka bir sürücü buldum. Şimdi bu paketin içinde şu dosyalar var:
'
inpout32.lib
inpout32.h
inpout32.dll'
inpout32.h dosyası da o kadar karışık sayılmaz.
#pragma once
//Functions exported from DLL.
//For easy inclusion is user projects.
//Original InpOut32 function support
void _stdcall Out32(short PortAddress, short data);
short _stdcall Inp32(short PortAddress);
//My extra functions for making life easy
BOOL _stdcall IsInpOutDriverOpen(); //Returns TRUE if the InpOut driver was opened successfully
BOOL _stdcall IsXP64Bit(); //Returns TRUE if the OS is 64bit (x64) Windows.
//DLLPortIO function support
UCHAR _stdcall DlPortReadPortUchar (USHORT port);
void _stdcall DlPortWritePortUchar(USHORT port, UCHAR Value);
Tamam 'inpout.h' için ilintileri yazdık diyelim. Ama benim anlamadığım nokta kütüphaneyi dinamik olarak mı yükleyeceğiz. Örneğin birisi dll dosyalarını dinamik olarak yükleyen (https://bitbucket.org/stephan/dunicode/src/tip/testperf/dllloader.d) bir kod yazmış.
Bu kodu C ile yazılmış dll dosyalarını yüklemek için kullanabilirmiyiz. Yoksa Linux'ta *.a dosyalarını derleme sırasında belirttiğimiz gibi buradaki *.lib dosyasını kullanarak hiç dinamik olarak yüklemeden programımızı oluşturabilirmiydik.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]