C und C++ Code mischen ?
-
Hallo,
kann ich C und C++ Code einfach in einem Prog. mischen,
oder muss ich das dem Compiler(ich verwende Visual C++) vorher
oder im Prog. bekanntgeben.Grüße,

Tutorialfresser
-
C ist Subset von C++, von daher kein Problem. Aber warum willst du das denn machen? Solltest dich schon entscheiden.
-
Ehm, schön und gut das C ein subset ist. Deshalb muß er seinem Compiler trotzdem mmitteilen, wenn er puren C-Code anwenden will. Denn C++ ist zu C inkompatibel.... auch wenn jetzt für einige ein Weltbild zusammen bricht.

Du mußt deinen reinen C-Code in eine *.c Datei legen, dann wird auch als C-Code kompiliert. In *.cpp Dateien wird immer C++ kompiliert.
-
Artchi schrieb:
Du mußt deinen reinen C-Code in eine *.c Datei legen, dann wird auch als C-Code kompiliert.
dann musser alle c-funktionen als extern"C" aufrufen. und manchmal #ifdef __cplusplus verwenden. das ist doof. pack besser alles in .cpp dateien, es sei denn du machst ein reines c-projekt
-
hi,
du kannst doch den C Code auch mit dem C++ Compiler kompilieren, dann brauchst kein extern "C", etc.
C++ ist ja nur binär inkompatibel zu C, nicht von der Syntax.[edit: vllt mal abgesehen, von f() was in C unendlich Parameter sind, in C++ hingegen keiner]
-
Vielen Dank,
mir ist schon klar daß ich ein Prog. mit reinem C Code in einer
*.c Datei anlegen muss.
Ich meinte ob ich es dem Compiler mitteilen muß wenn ich statt cout,
printf verwende und ob dies irgendwann unvorhergesehen zu problemen
führen kann.Noch eine Frage wozu ist cin.get() denn gut?
Grüße,

Tutorialfresser
-
Naja, aber der C++ Compiler wird nunmal in bestimmten Fällen, wo C-Code geschrieben wird, Errors ausspucken. Viel Spaß!

Wenn dann müsst ihr sagen, er darf C++ in C-Stil programmieren. Aber wirklich C wird nicht funktionieren.
-
TutorialFresser schrieb:
Ich meinte ob ich es dem Compiler mitteilen muß wenn ich statt cout,
printf verwende und ob dies irgendwann unvorhergesehen zu problemen
führen kann.naja, kann sein dass beide unterschiedliche buffer(mechanismen) verwenden und daher die ausgabe nicht so aussieht wie gewollt, aber eigentlich ist das harmlos.
TutorialFresser schrieb:
Noch eine Frage wozu ist cin.get() denn gut?
das ist sowas wie getchar(). holt ein zeichen vonner tastatur
-
Vielen Dank für Eure Antworten!
Grüße,

Tutorialfresser