五月天青色头像情侣网名,国产亚洲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代碼重定位_鏈接腳本的解析的評論 (共 條)

分享到微博請遵守國家法律
甘洛县| 城市| 大渡口区| 集安市| 鱼台县| 云梦县| 道孚县| 晋州市| 南康市| 龙山县| 德兴市| 丹阳市| 佳木斯市| 宜丰县| 建水县| 全州县| 邓州市| 安远县| 防城港市| 山东省| 前郭尔| 海丰县| 大理市| 宜丰县| 曲周县| 陆川县| 西盟| 抚宁县| 若尔盖县| 大安市| 峨眉山市| 周宁县| 永康市| 兖州市| 兰坪| 昌乐县| 东乌珠穆沁旗| 体育| 平度市| 十堰市| 紫阳县|