【发布时间】:2011-02-23 16:51:10
【问题描述】:
我知道 static 关键字使 C 函数/变量是文件范围的。
而且我已经读过,如果我想创建一个变量全局范围(由多个文件访问),我应该这样做:
在.c 文件中:
int my_global_var;
// main()....
在.h 文件中:
extern int my_global_var;
因此,任何人将包含我的.h 文件将能够引用my_global_var,它已经是externed。
我还读到这也是函数所必需的,但我使用的是gcc 4.x,我没有extern .h 文件中的函数,其他程序可以成功link 它。
所以,问题是……
非静态函数链接的行为是默认的还是我应该extern非静态函数遵守标准??
【问题讨论】:
标签: c linker extern non-static