Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1699650
  • 博文数量: 607
  • 博客积分: 10031
  • 博客等级: 上将
  • 技术积分: 6633
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 17:41
文章分类

全部博文(607)

文章存档

2011年(2)

2010年(15)

2009年(58)

2008年(172)

2007年(211)

2006年(149)

我的朋友

分类: C/C++

2007-03-02 12:30:40


extern 主要用于跨语言的代码调用. extern 置于变量或者函数前,表明该变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。“extern”在函数声明中可有可无,只是用来标志该函数在本文件中定义,还是在别的文件中定义。

C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会. 在C++环境下使用C函数的时候,常常会出现编译器无法找到obj模块中的C函数定义,从而导致链接失败的情况,应该如何解决这种情况呢?办法就是用 extern "C"

extern "C" 告诉编译器: 我是用C写的,你不要对我的名称进行c++方式的mangling.

如果在C代码中调用C++代码,怎么办呢?也可以用用 extern "C" 来使C++函数为C语言所用.



阅读(1016) | 评论(0) | 转发(0) |
0

上一篇:inline函数的小结

下一篇:递归小结

给主人留下些什么吧!~~