extern "C"
-
Hallo,
Ich habe eine Funktion mit der extern "C" deklaration.extern "c" void foo (void);
Ist es möglich in dieser Funktion C++ typische Objekte wie Klassen zu nutzen?
Zum Beispiel:class bar {}; extern "C" void foo (void) { bar my_bar; return; }
Bzw. wenn es möglich ist, ist es kompatibel? Erzeugt es unter Umständen Fehler?
Danke für Antworten.
-
ja, ist möglich.
extern "C" schaltet nur das name mangling aus, um dadurch von C code vernünftig gelinkt werden zu können.
-
Shade Of Mine schrieb:
extern "C" schaltet nur das name mangling aus, um dadurch von C code vernünftig gelinkt werden zu können.
umgekehrt auch, so dass man c-funktionen aus einem c++ programm aufrufen kann.
-
danke sehr
-
ist es eigentlich egal ob ich:
extern "c"
oder
extern "C"
schreibe?