www.mikrocontroller.net

Forum: PC-Programmierung pc.h


Autor: Josef Unland (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja, unter anderem sind in pc.h die inport/outport funktionen
deklariert, die wären dann bei turbo c in dos.h

Autor: Josef Unland (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die exes in dem archiv sind mit DJGPP kompiliert. also ersetz doch
einfach mal <pc.h> durch <dos.h>, und schau was dabei rauskommt.

Autor: Josef Unland (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Thomas,

dos.h wird aber auch aufgerufen, somit können in pc.h nicht die I/O
Routien stehen.

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Josef Unland (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das heist, dass ich dieses Programm ohne die Headerfiles zuändern, gar
nicht mit Turbo C compalieren kann?

Autor: Josef Unland (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ich schon gemacht, dann kommen andere Fehlermeldungen.

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
natürlich brauchst du die library header nicht zu ändern, aber das
programm das du kompilieren willst schon (.c und .h files).

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/)

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Josef Unland (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, ich werds mal versuchen. vielen dank für eure hilfe.

gruß
josef

Autor: Thomas X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
probier sonst noch, in jedem file, welches die folgenden zeilen enthält,
diese zu entfernen:

#define outport outportb
#define inport  inportb

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.