Kurze Frage zu Headerdateien



  • Hallo allerseits
    Ich habe folgendes Tutorial gefunden
    http://www.tutorials.de/forum/c-c-tutorials/304626-ein-betriebssystem-mit-c-entwickeln.html
    Jetzt möchte ich aber z.b. anstatt mit puts mit printf etwas ausgeben also stdio.h einbinden jedoch zeigt der mir dann beim kompilieren einen Fehler das er printf nicht kennt ist das denn überhaupt möglich? Ich benutze opensuse 11.2

    Danke für alle Antworten auf diese Anfängerfrage 😉



  • Du kannst nur Header includieren, die es gibt. Gibts noch keine stdio.h, kannst Du sie nicht includieren. Ist printf nicht implementiert (in stdio.h) kannst Du es nicht nutzen.
    Bei OS-Developement nützt einem die Standardbibliothek des Compilers meist nichts.

    EDIT: Und Du solltest Dich lieber über die antworten bedanken, anstatt bei dir selbst, die Frage gestellt zu haben 😉



  • Wie kann man diese Headerdateien denn dann includieren ich meine könnte man nicht einfach die Definition aus der Headerdatei stdio von Linux holen und diese dann einsetzen?



  • ist das echt so schwer zu begreifen? die c stdlib ist abhängig vom os, nachdem du dein eigenes os entwickelst mußt du die std. lib erst dafür portieren...

    lg lolo



  • Andyman schrieb:

    Wie kann man diese Headerdateien denn dann includieren ich meine könnte man nicht einfach die Definition aus der Headerdatei stdio von Linux holen und diese dann einsetzen?

    Kannst du im Prinzip schon, bringt dir aber nichts, weil es eben nur die Headerdatei ist. Die Implementierung fehlt dann immer noch. Es wird dir nichts anderes übrig bleiben, als dir selber ein printf zu schreiben.

    Übrigens ist puts normal auch in der stdio.h enthalten, das ist also genau derselbe Fall wie mit printf.

    Wenn du ein Tutorial suchst, das etwas weiter geht, schau dir mal http://www.lowlevel.eu/wiki/Teil_4_-_Hello_World (und die folgenden Teile der Tutorialreihe natürlich) an.



  • Danke werde das mal durcharbeiten 🙂


Anmelden zum Antworten