码迷,mamicode.com
首页 > 编程语言 > 详细

C++调用C代码的两种方式

时间:2017-05-18 11:43:00      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:类型   c代码   方法   文件   logs   ifd   color   file   支持   

  由于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代码的两种方式

标签:类型   c代码   方法   文件   logs   ifd   color   file   支持   

原文地址:http://www.cnblogs.com/wxquare/p/6872025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!