Как вызвать функцию C ++ из C?
Я знаю это.
Вызов функции C из C ++:
Если бы мое приложение было на C ++ и мне приходилось вызывать функции из библиотеки, написанной на C. Тогда я бы использовал
//main.cpp
extern "C" void C_library_function(int x, int y);//prototype
C_library_function(2,4);// directly using it.
Это не испортило бы имяC_library_function
и компоновщик найдет то же имя во входных файлах * .lib, и проблема решена.
Вызов функции C ++ из C ???
Но здесь я расширяю большое приложение, написанное на C, и мне нужно использовать библиотеку, написанную на C ++. Искаженное имя в C ++ вызывает здесь проблемы. Линкер жалуется на неразрешенные символы. Ну, я не могу использовать компилятор C ++ над моим проектом C, потому что это ломает много других вещей. Какой выход?
Кстати я использую MSVC