extern 关键字

1、声明外部变量

extern 用来修饰变量或者函数名,用以在一个文件中定义,但是可以在其他文件中进行使用的。

例如在A文件中定义了 全局变量 int mm=0;你在另一个文件B中也定 定义了 int mm=0; 编译时时候不会出错,因为编译时以文件为单位作用域在本文件中。但是在链接是后出错,因为他会将多文件进行合并生成obj 全局变量的存储空间合并为一块儿,导致重名;如果加上extern 的话就会链接放行,认为是一个变量。

2、在C++文件中调用C方式编译的函数

C方式编译和C++方式编译相对于C,C++中新增了诸如重载等新特性,编译时候会生成一个由函数名参数组成的中间函数名用来检查重载特性。而C语言编译不会这样。导致C++中如果调用C语言接口会不认识,那么extern ‘C’  就有用了告诉编译器,这段代码用C编译器编译。那么自然而然调用的时候就认识了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章