Как вызвать функцию 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

Ответы на вопрос(6)

Ваш ответ на вопрос