C++中调用C代码
当编译器编译C++文件时,会优先选择cpp的编译方式
而C代码应该用C的编译方式编译
所以用以下处理方式
#ifdef __cplusplus
extern "C"{
#endif
C代码
#ifdef __cplusplus
}
#endif
C中调用C++代码
//C++源文件可修改
//用extern "C"
//C++源文件不可修改
//加中间层
//写一个接口,用C语言的方式编译,接口中调用C++函数
int add(int a, int b)
{
std::cout<< "a + b = " << a + b << std::endl;
return 0;
}
extern "C" int add_ii(int a, int b) //供c程序调用,用c方式编译
{
add(a, b);
}