.text、.data、.bss、sbss、scommon段

偶尔看到sbss段,不甚清楚,查了一下:

.sbss是小的BSS段,用于存放“近”数据,即使用短指针(near)寻址的数据。有利于小的对象组合到单个可以直接寻址的区域。《程序员的自我修养--链接、装载与库》一书的3.3.4节说:“以前用过的一些名字如.sdata、.tdesc、sbss、lit4、lit8、reginfo、gptab、liblist、.confict。可以不用理会这些段,它们已经被遗弃了。”话虽然这么说,不过实际使用中还是会碰到。

 ELF目标文件具有传统的文本、数据和BSS区段,现在拼写为.text、.data和.bss。经常还会包含.init和.fini(启动和退出时的代码),和其它一些琐碎的东西。.rodata和.data1在某些编译器中被用来表示只读数据和out-of-line数据(有些编译器也有对应只读out-of-line数据的.rodata1区段)。在诸如MIPS这样地址偏移量受限的RISC系统中,还有.sbss和.scommon区段,即小的BSS和公共块,有利于小的对象组合到单个可以直接寻址的区域,就像我们在上面讨论伪寄存器时说到的那样。在GNU C++系统中,还可以会有可以被括入文本、只读数据和数据段中的linkonce区段。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值