**
extern “C”
用于C语言和C++语言相互调用
**
声明一个变量
extern int a;
声明一个C风格的函数
extern "C" int Add(int a,intb);
声明一群C风格的函数
extern "C" {
int Add(int a,intb);
int Eva(int a,intb);
}
把头文件内的内容声明为C风格
extern "C" {
include "emath.h"
include "pmath.h"
}
注:C语言不支持重载
作用:
为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般只包括函数名。
**
extern和__cplusplus
**