Früher, ganz am Anfang der C++-Zeit gab es doch so Preprozessoren, die aus einem C++-Quelltext einen C-Quelltext machten. Das war so eine Art Zwischenschritt, denn später gab es dann auch direkte Compiler die Objektcode erzeugten. Was ich meine hat nichts mit dem Preprozessor zu tun der auch schon damals Textersatz mit #define gemacht hat. Er hat vielmehr die Klassenmethoden in C-Funktionen übersetzt (unter anderem). Kennt jemand sowas noch? Gibt es das noch? Evtl. zum runterladen?
Sicher gab es das. Problem ist halt, dass man den heutigen Sprachstandard von C++ nicht vollständig auf C abbilden kann. Sowas wie z.B. public, private und protected gibt's halt in C nicht. Oder es wäre dann halt alles public, aber das führt den Sinn der Datenkapselung ad absurdum. Ansonsten bau Dir halt ne struct mit Funktionszeigern. Voilà, eine Klasse! Nimm diesen Code in eine neue struct auf und bau was dazu. Voilà, Vererbung! :-)
Mark Brandis schrieb: > Sicher gab es das. Problem ist halt, dass man den heutigen > Sprachstandard von C++ nicht vollständig auf C abbilden kann. Sowas wie > z.B. public, private und protected gibt's halt in C nicht. Oder es wäre > dann halt alles public, aber das führt den Sinn der Datenkapselung ad > absurdum. > > Ansonsten bau Dir halt ne struct mit Funktionszeigern. Voilà, eine > Klasse! Nimm diesen Code in eine neue struct auf und bau was dazu. > Voilà, Vererbung! :-) Die gibt's immer noch. Bestes Beispiel und z.Z. auch der standardkonformste C++-Compiler: http://www.comeaucomputing.com/ http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B
Mark Brandis schrieb: > Sicher gab es das. Problem ist halt, dass man den heutigen > Sprachstandard von C++ nicht vollständig auf C abbilden kann. Sowas wie > z.B. public, private und protected gibt's halt in C nicht. Konnte man anfangs auch schon nicht. Ein solcher Präcompiler ist notwendigerweise ein vollständiger Compiler, der nur zufällig C Code statt Assembler- oder Maschinencode auswirft. Sichtbarkeitsregeln spielen im C Compiler dann keine Rolle, weil das alles vorneweg maskiert wird.
Yep. Der erste Compiler dieser Art war meines Wissen CFront. Vom Meister persönlich gecodet.
Hi, erwähnenswert ist auch dieses Projekt: http://llvm.org/ Damit ist schon Qt nach C übersetzt worden. Gruß Olaf
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.