文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C++中调用C语言库文件

C++中调用C语言库文件

时间:2010-10-19  来源:James&Kissmile

答案就是C++语言为了支持重构(重构的特征:相同的范围、相同的名字、不同的参数),在编译时对函数的命名方式进行了改变,编译后的名字包括一些参数的信息,这样才能在调用函数的时候对号入座。

 

那么extern "C"的作用,就是“提示”(为什么说提示,而不是“命令”呢,下面会分析)编译器,下面的文件和函数,要用C语言的命名规则进行。

所以加入要在A.cpp中使用C语言的B.lib库文件中的在xx.h中定义的导出函数CFun(),需要这么做。

1.首先将这个库文件链接到我们的工程中。

2.声明

     extern "C"

     {

          #include "abc.h"

          extern void CFun();

     }

3.然后就可以使用 CFun();

 

   但是我发现,有时候不使用extern "C"的方式(而是直接#include ""....)也可以使用这类函数,原因我分析如下:

   1.那个库文件并不是纯正的C语言下环境下编译而成的(具体是环境是在.c文件中使用了C++中的关键字)。

   2.extern "C"只是一种“提示”,而不是强制性命令编译器,具体是要不要用C语言规则,让编译器自己去判断。

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载