extern "C"


#ifdef __cplusplus  //__cplusplus是cpp中自定义的一个宏
extern "C" { //告诉编译器,这部分代码按C语言的格式进行编译,而不是C++的
#endif 

  /**** some declaration or so *****/ 

#ifdef __cplusplus
}
#endif

C++编译函数名时会在函数名后加上参数类型。
C编译函数时只有函数名。
extern "C" 告诉编译器按C语言方式进行编译。

通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。
与extern对应的是static,被它修饰的全局变量和函数只能在本模块中使用。

你可能感兴趣的:(extern "C")