Beliebigen text auf dem bildschirm ausgeben



  • das ist nicht so einfach wie du dir das vorstellst. int main() definiert nur den einsprungpunkt in deine anwendung. doch vorher muss erst einmal die c-library geladen und initialisiert werden und du musst bedenken dass zu diesem zeitpunkt (beim ausführen des bootsektors ) noch nicht einmal richtige zugriffsfunktionen auf die festplatte zur verfügung stehen geschweige denn irgend welche memory management funktionen.
    Kurt.



  • hallo,
    grundsätzlich geht es mir darum das man ja mit ISO C++ ohne abhängig von einem system (ich meine jetzt betriebssystem wie linux/windows etc.) z.B. ein eigenes betriebssystem schreiben kann bzw. mithilfe von assembler jedoch durchaus das meiste in reinem C++ code. man müsste einfach gesgat nur die systemabhängigen sachen wie hardware bezogene (steuerung/management) etc. irgendwie regeln, sei es ein treiber für die hardware der in assembler geschrieben wurde und dann im C++ program zur geltung bzw. nutzung kommt, etc., korrekt?

    sehe ich das also richtig, das man grundsätzlich mit ANSI/ISO C++ absolut hardware/betriebssystem unabhängig programmieren kann, sofern man zwei dinge beachtet:

    1. evl. hardware/betriebssystem interne sachen müssen extern geregelt werden. bei einem OS z.B. das ansprechen von API's ist von demjenigen OS dann abhängig wie es geregelt wird.
    2. einen ANSI/ISO C++ compiler für die gewünschte platform z.B. kaffeemaschiene, handy, autoelektronik, (was auch immer software zum betrieb benötigt).

    korrekt?



  • Bashar schrieb:

    dass der Compiler (und der Rest der Entwicklungstools) dafür zu sorgen haben

    das heisst also *easy gesagt* das der compiler der ja den sourcecode in den maschinencode übersetzt, dazu zu sorgen hat das z.B. cout in den maschinencode (also assembler für x86) übersetzt wird und das dementsprechend das betriebssystem auf dem die anwendung läuft, dazu zu sorgen hat, das ganze der CPU/GPU zu übergeben... so inetwa?



  • HOOLOGE schrieb:

    korrekt?

    ja, das stimmt



  • noch eine andere frage.
    die C++ standard library ist ja grob gesgat eine sammlung von header/funktionen die selbst in C++ geschrieben sind, korrekt?.

    man könnte also ein cout durchaus ohne eine einbindung eines header, realisieren, ja? 🕶



  • meine fragen mögen für euch ja komisch klingen. ich finde es aber zusätzlich, neben das schreiben von sourcecode, interesant zu wissen, wie das ganze eigentlich möglich ist zu realisieren.



  • HOOLOGE schrieb:

    meine fragen mögen für euch ja komisch klingen.

    ganz und gar nicht. du willst den dingen auf den grund gehen. das ist gut (und wichtig)



  • HOOLOGE schrieb:

    noch eine andere frage.
    die C++ standard library ist ja grob gesgat eine sammlung von header/funktionen die selbst in C++ geschrieben sind, korrekt?.

    Nicht in Standard-C++.

    Sobald du den Standard verläßt, ist natürlich alles möglich, für das der Compilerhersteller Unterstützung eingebaut hat, beispielsweise die Nutzung externer Bibliotheken oder Betriebssystem-APIs.



  • Nicht in Standard-C++.

    zwei fragen:

    1. in was dann? 😕
    2. die C++ standard library sind doch header/funktionen oder? z.B. iostream, math, etc.? 😕



  • HOOLOGE schrieb:

    Nicht in Standard-C++.

    zwei fragen:

    1. in was dann? 😕

    In einem C++, zu dem compiler- oder plattformspezifische Besonderheiten benutzt werden. Wie ich oben schon als Beispiel genannt habe, wird der Streambuffer von cout unter Linux (wahrscheinlich) über den write-Systemaufruf geleert. Der gehört aber nicht zu Standard-C++, sondern ist Unix-spezifisch.

    Letztendlich stellt der Standard nur eine vereinbarte Schnittstelle zwischen Programmierer und Compiler dar, er schreibt nicht vor, wie diese Schnittstelle implementiert sein muss.

    2. die C++ standard library sind doch header/funktionen oder? z.B. iostream, math, etc.? 😕

    Ja, bzw. die Implementierungen für diese Header.



  • danke jetzt macht alles sinn 👍 😋


Anmelden zum Antworten