首页 > 代码库 > C++调用C代码的两种方式
C++调用C代码的两种方式
由于C++支持函数重载,在编译函数代码的时候会加上参数类型的信息,而C编译只有函数名信息,导致C++直接调用C代码在链接的时候会出现函数未定义的问题。解决这种问题有两种方法。方法一:在写C代码的时候考虑到C++可能会调用这些函数,增加extern “C”;方法二:如果C++要调用的C代码没有考虑到这个问题,在包含c代码的时候加上extenrn"C"的标志。例如下面有个c文件cfile.h中定义了sumOfab(int a,int b),cfile.c中实现了这个函数。另外的cpp文件需要使用到这个函数。
方法一:
1 #ifndef CFILE_H_ 2 #define CFILE_H_ 3 4 #ifdef __cplusplus 5 extern "C"{ 6 #endif 7 8 9 int sumOfab(int a,int b); 10 11 12 #ifdef __cplusplus 13 } 14 #endif 15 16 #endif /* CFILE_H_ */
方法二:
1 extern "C"{ 2 #include "cfile.h" 3 }
C++调用C代码的两种方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。