2016-03-28 4 views
0

Für Linux können Sie <sys/io.h> für E/A-Ports mit Hardware nehme ich annehmen?Für C, was ist die Windows-Header-Version für Linux-Header <sys/io.h> I/O-Ports

outb(...); 
outw(...); 
inb(...); 

Welche Header muss ich enthalten, um diese Funktionen für die Windows-Kompilierung zu haben?

Edit: Windows equivalent of inb(), outb() low-level I/O sagt, es ist unmöglich auf Windows; Sie müssen einen Treiber unter Windows installieren, um eine schnelle Lösung zu verwenden.

+1

Wenn Sie '' Header verwenden, begrenzen Sie Ihre Portabilität auf andere Systeme. Wenn der '' Header von POSIX definiert ist, beschränken Sie Ihre Portabilität meist auf andere POSIX-Systeme. Wenn der '' Header nicht von POSIX definiert wird (und POSIX nicht '' definiert), sind alle Wetten deaktiviert. Sie müssen sich Gedanken darüber machen, ob Systeme mit demselben Header-Namen die gleiche Funktionalität bieten. Bei der Migration zu Windows müssen Sie daher untersuchen, wie Windows die Funktionalität bereitstellt. Angenommen, es werden verschiedene Header, Funktionen und Konstanten verwendet (aber Sie könnten Glück haben). –

+0

@JonathanLeffler danke ich werde diese nur für den Moment kommentieren und später darauf zurückkommen. Vielen Dank, wenn Sie dies als Antwort geschrieben haben, würde ich es akzeptieren. – SSpoke

Antwort

0

Im Allgemeinen, für MS Windows niedrige Ebene io ist WinAPI Funktionen wie CreateFile, WriteFile und so weiter.

+0

Ya das ist CPU-Emulator Ich denke, es braucht Kontrolle/Zugriff auf alle Hardware abgeschlossen zu sein – SSpoke

Verwandte Themen