不同的编程语言对于进程的内存段的访问规则

来源:互联网 发布:mysql云数据库 便宜 编辑:程序博客网 时间:2024/05/19 13:56

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、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;




0 0
原创粉丝点击