Я видел в файле cpp, что external "C" {...}
содержит определения нескольких функций.
Из https://isocpp.org/wiki/faq/mixing-c-and-cpp я предполагаю, что цель использования extern "C"
в файле cpp - сделать закрытые функции С++ доступными для использования в программе C,
Пример в ссылке показывает, что extern "C"
содержит только объявления функций С++, а не их определения
Просто объявите функцию С++ extern "C" (в коде С++) и вызовите он (из вашего кода C или С++). Например:
// C++ code: extern "C" void f(int); void f(int i) { // ... }
Файл cpp, о котором я упоминал в начале, выглядит следующим образом:
// C++ code:
extern "C" {
void f(int i)
{
// ...
}
void g(int i)
{
// ...
}
}
Скрыть extern "C"
заключить объявления или определения функций С++?
Если да, то почему?