extern作用

来源:互联网 发布:painter软件 影拓 编辑:程序博客网 时间:2024/05/06 04:19

extern作用

extern常用来声明变量或者函数,用来限定变量或函数的作用域,一般放在头文件中,若包含该头文件,则可对操作该变量或函数
如:
a.h
extern int a;

b.h
#include "a.h"
在b.h中若包含了a.h这文件就可以对a这个变量进行操作


其实,extern和static的作用刚好相反
注意:extern是用来声明的,而不是来定义的,即extern int i;(正确),extern int i=0;(错误)


extern "C"

之所以会有这样的写法,是因为在C++环境下若要使用C的函数定义,由于C++编译器在解决函数多态问题,会将函数名和参数连在一起修饰,而C则不会。

如:
int func(int, int), C的编译器会将名字改编为_func,而C++的编译器会改编为_func_int_int 。
若CPP文件要调用C中函数,则需在CPP文件中加入extern "C"来声明这个函数,同样,若C要调用CPP文件中的函数,则需在C文件中加入extern "C"来声明这个函数

原创粉丝点击