1.bss txt data rodata等是操作系统给进程的基本的内存段分配;
不同的编程语言对这部分内存的访问的规则定义各自不同;
以java为例子:
通过类名.static变量进行引用;
C语言:
a.c
----------
static int i; //只在a文档中用
int j; //在工程里用
static void init() //只在a文档中用
{
}
void callme() //在工程中用
{
static int sum;
}
b.c
-------
extern int j; //调用a文档里的
extern void callme(); //调用a文档里的
int main()
{
...
}
二,C语言static法则:
A、若全局变量仅在单个C文档中访问,则能够将这个变量修改为静态全局变量,以降低模块间的耦合度;
B、若全局变量仅由单个函数访问,则能够将这个变量改为该函数的静态局部变量,以降低模块间的耦合度;
C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;