五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

13.3代碼重定位_鏈接腳本的解析

2020-08-21 14:39 作者:韋東山  | 我要投稿

鏈接腳本的語法?

解釋:?

secname? :段名

start? :起始地址:運行時的地址(runtime addr);重定位地址(relocate addr)

AT ( ldadr ) :可有可無(load addr:加載地址) 不寫時LoadAddr = runtime addr

{ contents } 的內(nèi)容:?

start.o //內(nèi)容為start.o文件

*(.text)所有的代碼段文件

start.o *(.text)文件


elf文件格式

1 鏈接得到elf文件,含有地址信息(load addr)

2 使用加載器

????2.1 對于裸板是JTAG調(diào)試工具

????2.2 對于APP,加載器也是APP 把elf文件解析讀入內(nèi)存的加載地址

3運行程序

4如果loadaddr?!= runtimeaddr程序本身要重定位

核心程序運行時應(yīng)該位于 runtimeaddr(reloate addr)或者鏈接地址?


bin文件

1 elf生成bin文件

2 硬件機(jī)制啟動

3 如果bin文件所在位置 不等于runtimeaddr ,程序本身實現(xiàn)重定位


bin文件/elf文件都不保存bss段 這些都是初始值為0 或者沒有初始化的全局變量

程序運行時把bss段對應(yīng)的空間清零

做個實驗,把全局變量g_A以16進(jìn)制打印出來?

上述代碼,沒有清理bss段 ?g_A等于莫名奇妙的值 并不等于0 所以需要清理bss段


修改lds鏈接文件?

修改start.s,清除bss段?

現(xiàn)在的代碼全局變量就是為0,通過幾行代碼,就可以少幾十個甚至上千個全局變量的存儲空間。?

13.3代碼重定位_鏈接腳本的解析的評論 (共 條)

分享到微博請遵守國家法律
元氏县| 黄龙县| 通许县| 鄂托克前旗| 永兴县| 临朐县| 承德县| 旬邑县| 顺义区| 新安县| 上思县| 视频| 聊城市| 涞源县| 松滋市| 永修县| 宁陕县| 简阳市| 铁岭县| 闽清县| 西贡区| 盘锦市| 阳山县| 宁陕县| 杨浦区| 高唐县| 南宁市| 从江县| 大竹县| 新田县| 万荣县| 汝阳县| 定西市| 南华县| 富阳市| 昭觉县| 巩义市| 井研县| 论坛| 清涧县| 安徽省|