extern "c"

由于使用c和c++编译函数时,其对函数的标记名称不同。

为了使c编译的函数能在c++中正常调用,必须添加 extern "c"的说明,表示它是用c编译的。

一般使用方法:

确定在函数属于哪个c函数库。添加头文件的方法如下:

#ifdef _cplusplus

extern "C"

{

#endif

#include  <...h> (所在的头文件)

#ifdef _cplusplus

}

#endif


扩展:C++编译的DLL,为什么要加上extern "c"

因为c++编译器考虑函数重载的原因,编译出来的函数名会增加附加符号;因此如果直接用c++编译器编译的DLL,如果被c程序引用,会出错,因为找不到正确的导出函数名。为了统一,在DLL导出时都添加extern "c",表示以C的方式编译;在导入DLL时,也指定以C方式,这样可以防止符号不一致的问题。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值