所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

请教一个sharememory中定义变量空间大小和地址分配的问题?

发布时间:2020-04-12 09:13:03

资讯分类:变量  请教  定义  分配  变量  全局变量  地址
请教一个sharememory中定义变量空间大小和地址分配的问题?

只会c语言,我们把c语言的变量分成2类:1:全局变量2:局部变量2比较简单,在定义变量以后,变量会放到栈中,取变量地址时,直接通过栈指针加减运算就可以得到(这个是gcc编译时就确定好的)

就会变成1比较麻烦,在编译汇编(还没有链接)以后,全局变量的值会放在.data段,有一个符号表负责记录变量对应在data中的位置.同时在代码中每一次对于全局变量(包括对地址)的引用都会被记录在rel.data段.在链接的时候可以确定每段的位置,链接器遍历rel.data表,重新计算代码中全局变量的地址.(感觉说的不明白啊..上图吧)求大神指正。

留言与评论(共有 0 条评论)
   
验证码:
Top