Как из C вызвать C++?

Есть два файла: main.c и second.cpp.

// main.c
extern void cxx_function();
int main() {
    cxx_function();
    return 0;
}
// second.cpp
void cxx_function() {
...
}

Я знаю, как действовать, если надо применить C код в C++:

// main.cpp
extern "C" {
extern void c_function();
}
// second.c
void c_function() {
...
}

Но как сделать наоборот?


Ответы (1 шт):

Автор решения: RandomDice 779

Вот так:

1.Объявляем C++ функцию в extern C:

// second.cpp
extern "C" void cxx_function();
// затем уже объявляем саму функцию
void cxx_function() {
...
}

2.Объявляем обычный extern в C файле:

// main.c
extern void cxx_function();
...
→ Ссылка