主要观点:讨论了全局结构大小的影响,包括在有和无内存管理单元(MMU)系统中的情况,以及不同内存区域的特点和作用。
关键信息:
- 静态链接进程有六个主要内存映射,包括 text、rodata、data、bss、stack 和 heap。
- ELF 格式中,各部分被视为巨型结构体,变量引用通过指针和偏移来定位。
- NOMMU 系统与 MMU 系统在地址映射、内存整理等方面有很大差异,NOMMU 系统存在碎片问题等。
- GLOBALS 块是数据段的主要部分,“ip”的空间不应在未编译时存在,应添加 USE()宏。
- 全局结构在不同系统和编译情况下的处理方式不同,简单性和后续清理更重要。
重要细节: - 介绍了各种内存映射的特点和用途,如 text 为可执行函数,rodata 为常量等。
- 阐述了 NOMMU 系统的特点,如无 TLB、不能进行地址重映射等。
- 说明全局结构大小对不同系统和操作的影响,如在 NOMMU 系统中,全局结构会占用较多连续内存。
- 提到了一些相关的工具和命令,如 scripts/probes/findglobals 用于查看全局结构大小等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。