Вызов функции C ++ из программы на C - PullRequest
1 голос
/ 31 января 2009

Как я могу вызвать функцию C ++ из программы на C, возможно ли это ?, и если да, то как я могу это сделать ?. Спасибо.

1 Ответ

6 голосов
/ 31 января 2009

Если вы пытаетесь вызвать функцию C ++ из C, то вы, вероятно, сталкиваетесь с искажением имен . Компилятор делает это для поддержки перегрузки функций и других функций C ++.

Вы можете использовать extern "C", чтобы сообщить компилятору C ++, что функция CMACInit() будет вызываться из кода C:

extern "C" CMACInit() { ... }

Когда объявлено таким образом, компилятор C ++ не будет искажать имя и все настроит так, чтобы функция могла быть вызвана из кода C.

...