有些时候我们会在代码中看到extern “C”,尤其是在动态调用动态链接库(该库使用其他语言编写的)时。extern指示符的作用时说明该函数或库文件使用其他语言编写的。extern “C”就是说用C编写的,注意C要大写。
extern “C”3中标识方式:
1.只标示一个函数
extern “C” bool ExampleFun();
2.使用复合语句标示一组函数
extern “C”
{
bool ExampleFun();
void MathFun();
}
3.通过引用头文件来标识头文件中所有的函数
extern “C”
{
#include “cmath.h”
}
c++的编译器会对所有的函数重新命名,但是C的编译器不会改变函数名称,所以如果在c++中直接调用C编写的函数就会找不到调用的函数。因此,用extern “C”声明以后,C++的编译器就不会再改变C函数的名字了。