GNU/GCC/G++ 编译/链接生成的常见段(section)表


---------------------

作者:zvvzxzko2006

来源:CSDN

原文:https://blog.csdn.net/zvvzxzko2006/article/details/48519845

版权声明:本文为博主原创文章,转载请附上博文链接!


 段名说明
1.text存放程序运行代码(机器码)
2.data存放了经过初始化的全局变量和静态变量
3.bss存放未初始化的全局变量和静态变量,如果初始化为0也可以认为未初始化
4.rodata只读数据段,比如只读变量(const)和字符串常量
5.shstrtab段名字符串表
6.symtab保存了连接时所需的符号信息
7.strtab保存了.symtab所需的符号信息。
8.initC++编译器生成的用来实现全局构造;该段自动产生名为init的函数,该函数早于main执行
9.fini同.init都为实现全局构造;该段自动产生名为fini的函数,该函数在main函数结束之后执行
10.comment包含编译器版本信息,不重要
11.debug保存调试相关信息,如.debug_info  .debug_line等
12.dynstr保存动态链接符号字符串名
13.dynsym保存动态链接符号
14.fini_array保存程序或共享对象退出时的退出函数地址
15.hash哈希表
16.init_array保存程序或共享对象加载时的初始化函数指针
17.interp动态链接库路径
18.line调试时行号信息
19.note额外信息,与平台相关
20.preinit_array同init_array  但早于init_array执行
21.tbss线程的未初始化数据
22tdata线程的初始化数据
23.ctors保存全局构造函数指针
24.data.rel.ro类似.rodata
25.dtors保存了全局析构函数指针
26eh_frameC++异常处理内容
27.eh_frame_hdr同eh_frame
28.got.plt保存动态链接的延迟绑定相关信息
29.jcrJava语言相关信息
30.note.ABI-tag保存程序ABI信息
31.note.GNU-stack堆栈提示段
32.stab调试信息
33.stabstr.stab中包含的字符串信息

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值