我知道static
关键字使 C 函数/变量是文件范围的。而且我已经读过,如果我想创建一个变量全局范围(由多个文件访问),我应该这样做:
在.c
文件中:
int my_global_var;
// main()....
在.h
文件中:
extern int my_global_var;
因此,任何人都将包含我的.h
文件将能够引用my_global_var
已extern
编辑的文件。
而且我还阅读了这也是函数所必需的,但我使用的是gcc
4.x,我没有extern
.h 文件中的函数,其他程序可以成功link
。
所以,问题是...
非静态函数链接的行为是默认行为还是我应该extern
非静态函数遵守标准?