C调用C++:
在C++程序中使用extern "C"{}来明确要求C++编译器不要对被调用的C++函数进行换名处理, 当然,这会导致函数无法重载
C++调用C:
在C++程序中使用extern "C"{}来明确要求C++编译器不要对调用的C函数进行换名处理
智能调用
__cplusplus
是C++编译器的预定义宏,C编译器里没有,所以可以用来区分调用的是.cpp生成的.o还是.c生成的.o
#ifdef __cplusplus
extern "C"{
#endif
void show(void);
#ifdef __cplusplus
}
#endif