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

Antworten auf die Frage(12)

Ihre Antwort auf die Frage