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

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值