Kann mir bitte jemand zeigen/schreiben, wie ich ein define für die Funktion inb erzeuge? danke. unsigned char inb(unsigned short int port) { unsigned char data = 0x00; asm("mov %1, %%dx;inb %%dx, %0;" : "=r" (data) : "g" (port)); return(data); } #define outb(value, port) asm("mov %0, %%dx;mov %1, %%al;out %%al, %%dx;" : : "g" (port), "g" (value));
Was stört dich an der Funktion? Warum benutzt du nicht inb/outb aus den Systemheadern?
Stell mir doch mal eine Frage die ich dir beantworten kann ... Also ich wollte, dass ein bestimmter Quellcode unter linux und windows absolut identisch ist. Irgendwie habe ich die Erfahrung gemacht, dass die Funktionen inb und outb unter Windows/DOS nicht verfügbar sind. Also in den header-dateien die mit "C and C++ IDE 4.0.0.0" mitgeliefert werden finde ich die nicht. Auch im MinGW paket finde ich dich. Mag sein dass ich mich nur zu blöd anstelle aber ich wollte da "hokus pokus" ein Ergebnis haben welches ich an dieser Stelle auch direkt einmal präsentieren möchte. Was C angeht habe ich ein wenig hier gelesen, ein wenig dort gelesen, die Prozessoren von Atmel habe ich auch schon mehrfach erfolgreich mit GCC zum funktionieren gebracht. Eigentlich wäre eine Antwort auf meine ursprüngliche rage ja nicht so wichtig da dass was ich da vorhatte ja funktioniert. Interessieren würde mich eine Lösung dennoch. Wenn es denn keine Umstände macht.
anfeanger schrieb: > Kann mir bitte jemand zeigen/schreiben, wie ich ein define für die > Funktion inb erzeuge? danke. Hallo, ist dir klar, dass unter Windows kein I/O-Portzugriff zulässig ist? Gruss Reinhard
Reinhard Kern schrieb:
> ist dir klar, dass unter Windows kein I/O-Portzugriff zulässig ist?
Also dass das nicht zulässig sein soll war mir nicht bekannt. Aber da
das mein Computer ist, und ich auf den Druckerport zugreifen will, tue
ich das. Aus diesem Grund schrieb ich ja die weiter oben dargestellen
Funktionen welche hier tadellos funktionieren.
Das wäre ja noch schöner wenn ich mir hier vorschreiben liesse was mein
Computer können darf und was nicht.
Da fällt mir ein, für Windows gibt es unter anderem die Datei inpout32.dll welche einen IO-Zugriff ermöglicht. Diese lässt sich unter anderem in VB nutzen. So lässt sich dann eine Active-X Komponente erzeugen. Diese wiederum kann dann auch in VBScript genutzt werden. Also wenn das funktioniert ... Ich will ja jetzt keinen Streit anzetteln ... aber wenn man mit linux IO-Zugriff haben kann dann seh ich keinen Grund warum windows das nicht auch können darf. Das wäre so als würde ich behaupten dass ich jetzt etwas besseres wäre als ihr. Linux is auch nur ein Betriebssystem.
@ Reinhard Kern Ah... jetzt fällt hier der Gröschen... du willst sicherlich auf Windows NT Systeme anspielen so wie hier beschrieben: http://www.pci-card.com/menu3.html Ich darf zu meiner Schande gestehen, dass ich noch immer mit windows 98 arbeite und daher nie wirklich Probleme mit irgendwelchen IO-Zugriffen hatte, was wiederum der Grund ist dass ich dieses noch immer nutze. Jetzt bitte keine Sprüche zu dem von mir noch genutzen Windows 98 ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.