Hallo, wer kann mir sagen, wo ich den Header-File PC.H finde. In einem C-Programm, welches ich mir vom Internet runtergeladen habe, wird dieser Headerfile gebraucht. Ich arbeite mit TurboC 2.0 auf DOS Ebene. Für eine schnelle Antwort wäre ich sehr dankbar. Gruß Josef
Der Dateiname sagt mir nichts. Was mäkelt der Compiler denn an, wenn Du die #include-Anweisung auskommentierst? So könnte man versuchen, herauszufinden, was in dieser ominösen Datei definiert sein soll. Du könntest auch Dein heruntergeladenes Programm hier posten oder aber erwähnen, wo Du's her hast, auf daß ich mal nachsehen kann, was es damit auf sich hat. Du arbeitest tatsächlich mit Turbo-C 2.0? Das war der erste brauchbare C-Compiler, mit dem ich es zu tun hatte ... lang ist's her (so knapp 15 Jahre).
wenn ich mich recht erinnere, war pc.h ein header file von DJGPP's library, so ähnlich wie bei turbo c/pascal dos.h bzw. die unit dos.
achja, unter anderem sind in pc.h die inport/outport funktionen deklariert, die wären dann bei turbo c in dos.h
ja, lang ist es her. Ich habe damals etwas mit diesem Compiler programmiert. Nun möchte gerne ein GLCD am LPT Port anschließen und habe mir deshalb den Compiler wieder installiert. Das Programm (dportlcd) habe ich mir von http://www.skippari.net/lcd/ks0108.html runtergeladen und hier wird ein pc.h benutzt.
die exes in dem archiv sind mit DJGPP kompiliert. also ersetz doch einfach mal <pc.h> durch <dos.h>, und schau was dabei rauskommt.
Hi Thomas, dos.h wird aber auch aufgerufen, somit können in pc.h nicht die I/O Routien stehen.
DJGPP's runtime library hat auch ein dos.h, dort sind aber ganz andere sachen drin. diese files sind nicht standardisiert, da kann irgendwas drinstehen.
dann entfern halt <pc.h> halt ganz einfach mal, so wie rufus schon gesagt hat. möglicherweise treten dann nicht mal fehler auf, weil bei turbo c eben die port funktionen in dos.h sind, bei DJGPP aber eben nicht, und wenn ich den code so überfliege, geht es in erster linie um die portfunktionen.
das heist, dass ich dieses Programm ohne die Headerfiles zuändern, gar nicht mit Turbo C compalieren kann?
natürlich brauchst du die library header nicht zu ändern, aber das programm das du kompilieren willst schon (.c und .h files).
tja, dann musst du jetzt halt denen nachgehen, solange bis es kompiliert (und dann ist noch nicht mal gesagt dass es funktioniert:) wie gesagt, das programm ist scheinbar für DJGPP geschrieben, dessen library dokumentation wird dir vielleicht weiterhelfen (http://www.delorie.com/djgpp/doc/libc/)
Das muss es nicht heissen. Probiere es einfach aus - kommentiere das #include aus, so wie ich es Dir bereits geraten habe, und sieh' Dir an, was der Compiler dazu sagt. Im übrigen sei darauf hingewiesen, daß so ein DOS-Programm nur unter DOS auch funktionieren wird - unter den ernstgemeinten* Windows-Versionen wird das Programm nicht funktionieren. Das liegt daran, daß die Art des Hardwarezugriffs mit direkten Port-I/O-Befehlen unter diesen Windowsversionen nicht zulässig ist. *) NT, das schließt 2K und XP ein. Nicht dazu gehören 3.11 und der ganze 95-Krampf wie auch Me.
probier sonst noch, in jedem file, welches die folgenden zeilen enthält, diese zu entfernen: #define outport outportb #define inport inportb
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.