一、extern "c "的作用:用来告诉编译器,该函数是用C语言编写的.
二、以下几种使用方式:
1.extern "c " void exit(int)//包含c语言中编写的exit函数.
2.extern "c "
{
int printf(const char* ....);
int scanf(char *...) ;
....
}//包含c语言中编写的一组函数.
3.extern "c "{#include <cmath> }包含标准c库中的函数.
三、补充
1,extern可以置于变量声明前;
2,extern也可以置于函数声明前;
通过这种行为它告诉编译器:该变量/函数的定义已经存在在某个地方了,让编译器到其他的模块去寻找它的定义。
3, extern “C” 使用extern“C”主要是因为C++语言在编译的时候为了实现多态,会将函数名和函数结合起来形成另外一种函数名(总之就是说编译后的函数名与你之前自己声明时的函数名会不一样),而C语言中无多态的概念当然也就不会有这种奇异的名字变化问题。这是问题就出现了,当你要在C++中调用C函数时,由于名字的不同,所以它会找不到所调用的这个函数的定义,因而会出错。 为了解决这一C与C++的矛盾冲突,就有了extern “C”。
本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2011/11/16/2251304.html,如需转载请自行联系原作者