使用C++开发STM32。
需要解决C与C++如何混合编程的问题,在C中调用C++函数,C++中调用C函数
STM32CubeIDE V1.9.0 编译链:gcc g++
三、解决办法- C调用C++
在A.c中调用B.cpp中的C++函数void CallCpp()
- 在B.cpp中,编写CallCpp()函数的C++实现
// B.cpp
extern "C" void CallCpp() {
// 写一些C++的事情
}
- 在A.c中,引用CallCpp()前,声明该函数
// A.c
void CallCpp();
void main() {
CallCpp();
}
- C++调用C
在B.cpp调用A.c中的函数void CallC()
- 在A.c中定义该函数
// A.h
void CallC() {
// 写一些C的事情
}
- 在B.cpp中,在引用前,使用extern "C"声明该函数
//B.cpp
extern "C" void CallC();
void main() {
CallC();
}



