1、extern修饰全局变量或函数,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
与之对应的关键字是static,static表明变量或函数是静态的,只能在本编译单元中使用。
2、extern "C"
修饰的变量或函数是按C语言方式进行编译和链接的。
因为C++支持多态性,函数可以重载,而C不支持。extern "C"策略,是为了使C++可以调用C语言编写的代码,使得C++和C之间的接口具有互通性。
参考:
https://blog.youkuaiyun.com/duangyhn/article/details/81393810
https://blog.youkuaiyun.com/candyliuxj/article/details/7853938