mikrocontroller.net

Forum: PC-Programmierung Alte C++ Preprozessor/Compiler


Autor: Ahem (Gast)
Datum:

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

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Mark Brandis (markbrandis)
Datum:

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

Autor: Arc Net (arc)
Datum:

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

Autor: A. K. (prx)
Datum:

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yep.
Der erste Compiler dieser Art war meines Wissen CFront. Vom Meister 
persönlich gecodet.

Autor: Olaf Dreyer (Firma: O.D.I.S.) (dreyero)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

erwähnenswert ist auch dieses Projekt:

http://llvm.org/

Damit ist schon Qt nach C übersetzt worden.

Gruß

Olaf

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.