查阅一些资料终于认识了
(InRoot$$Sections)
实现对映像的加载,而这一段代码就是*(InRoot$$Sections)它是__main()的一部分。
从启动代码说起
启动代码
1。异常/中断跳转的地址表。
2。堆栈初始化
3。分散加载镜像文件
IMAGE(映像文件)
1个RO,
1个RW,
1个ZI组成。
并且RO的load region和execution region相同,这个里面放置
*(InRoot$$Sections)
主要作用COPY RW区到RAM,然后再RW区后面创建ZI区。
库函数__main函数中有这个段。
注释掉会报出找不到段的警告。
本文探讨了启动代码的功能,包括异常/中断跳转地址表的设置、堆栈初始化及映像文件的分散加载。详细解析了由RO、RW与ZI组成的映像文件结构及其在内存中的布局。
763

被折叠的 条评论
为什么被折叠?



