
C语言
文章平均质量分 89
Wild_Pointer.
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
目标文件中的强符号和弱符号,强引用与弱引用(肆)
本文讲解了编译链接中的强符号与弱符号、强引用与弱引用的概念及其处理规则。强符号包括已初始化的全局变量和函数定义,弱符号包括未初始化的全局变量和显式声明为weak的属性。链接器遵循三条规则处理符号冲突:禁止多重强定义、优先选择强符号、弱符号选择最大空间类型。通过弱引用特性,可以实现库函数覆盖、功能模块的灵活裁剪等应用,如判断单线程/多线程模式。文中提供了具体代码示例说明这些特性的实际应用。原创 2025-08-10 14:19:49 · 446 阅读 · 0 评论 -
使用binutils工具解析目标文件符号表(叁)
本文分析了使用binutils工具输出的目标文件符号表信息。通过编译示例C代码并使用objdump命令,展示了Windows系统下符号表的复杂输出格式。重点解析了符号表各列的含义,包括索引、节区索引、标志位、符号类型和存储类别等关键信息。其中详细说明了节区索引的数值含义、标志位的十六进制组合表示方法,以及存储类别的具体分类。文章特别指出工具输出中的ty20与代码定义差异的原因,并提供了完整的存储类别值对照表。最后提醒读者注意工具对十六进制值的简化表示可能导致的解读差异。原创 2025-08-10 13:26:20 · 569 阅读 · 0 评论 -
使用binutils工具分析目标文件(贰)
本文深入解析了目标文件(ELF格式)的结构组成。主要内容包括:1)目标文件除常见段(.text/.data/.bss)外还包含.rodata、.comment、.debug等多种特殊段;2)目标文件由文件头、段表和多个段组成,文件头包含魔数、平台属性等关键信息;3)段表记录了各段的名称、类型、偏移量等属性,通过Elf32_Shdr结构体定义;4)详细说明了段类型(如SHT_PROGBITS)、标志位(如SHF_WRITE)等关键字段的含义。文章通过Linux和Windows环境下的实例对比,阐述了目标文件的原创 2025-07-26 15:55:28 · 1005 阅读 · 0 评论 -
使用binutils工具分析目标文件(壹)
本篇博客主要是介绍使用binutils工具中的objdump来分析生成的目标文件,也会介绍一些关于不同平台目标文件的知识。原创 2025-07-13 15:33:37 · 839 阅读 · 0 评论