链接器中的符号问题

链接器中的符号问题
1、 符号分类:
全局符号:由模块m定义并能被其他模块引用的全局符号—非静态的c函数和全局变量。
外部符号:由其他模块定义并被模块m引用的全局符号—在其他模块中定义c函数和全局变量。
局部符号:只被模块m定义和引用的局部符号—带static属性的c函数和全局变量。
2、 我对三个符号的理解:
○1局部符号和全局符号的区别就是是否带static,即不带static的全局变量和函数就是全局符号。
○2任何带有static属性的变量或者函数都是模块私有的,相当于java中的private作用。
○3符号均涉及到的变量为全局变量,不含某一模块中局部变量的概念。
3、○1例如在这里插入图片描述

例如本题中的buf为外部符号(extern用来表明此函数/变量是在别处定义的,要在此处应用),bufp0 bufp1 swap为全局符号,c的局部变量temp不是符号,没有符号表条目。
○2例如
在这里插入图片描述

D项局部变量不属于符号范畴,即使是static short x=20 也不可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值