Wie kann man die C ++ - Funktion von C aus aufrufen?
Ich weiß das
ufruf der C-Funktion aus C ++:
Wenn meine Anwendung in C ++ war und ich Funktionen aus einer in C geschriebenen Bibliothek aufrufen musste, hätte ich @ verwende
//main.cpp
extern "C" void C_library_function(int x, int y);//prototype
C_library_function(2,4);// directly using it.
Dies würde den Namen nicht entstellenC_library_function
und Linker finden denselben Namen in den * .lib-Eingabedateien, und das Problem ist behoben.
Aufruf der C ++ - Funktion von C ???
Aber hier erweitere ich eine große Anwendung, die in C geschrieben ist, und ich muss eine Bibliothek verwenden, die in C ++ geschrieben ist. Die Namensverknüpfung von C ++ verursacht hier Probleme. Linker beschwert sich über die ungelösten Symbole. Nun, ich kann den C ++ - Compiler nicht über mein C-Projekt verwenden, weil das viele andere Dinge zerstört. Was ist der Ausweg?
urch die Art, wie ich MSVC benut