C++ extern "c "的作用

一、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”。
原文地址:https://www.cnblogs.com/linlf03/p/2251304.html