C++调用C

来源:互联网 发布:淘宝联盟怎么提现 编辑:程序博客网 时间:2024/05/17 23:46

问题

由于编译器对C++和C的编译方式不一致.导致如果在C++中调用C函数,会出现undefined reference function().这个就是C函数不能被编译器正常编译生成.o,导致在链接的时候找不到function这个函数.

解决方法

声明和定义function()时在其前面加上extern “C”.由于function也有可能被C调用,所以应该在extern “C”之前加上#ifdef __cplusplus.否则C调用时会报错.

代码

#ifdef __cplusplusextern "C"  {#endif void function(){}#ifdef __cplusplus}#endif

对 void function();的声明也需要使用使用上面同样的方法

0 0
原创粉丝点击