5.重定位的本質
bss段:不需要重定位,因為程式裡根本不儲存bss段,使用前把bss段對應的空間清零即可
一開始,程式可能並不位於它的鏈結位址上,為什麼它可以執行重定位的操作?
位置無關碼:這段**扔在任何位置都可以執行,跟它所在的位置無關
怎麼寫出位置無關碼:
不要訪問全域性變數、靜態變數
不使用字串
這一切
重定位,最重要的就是拷貝,注意是拷貝,也就是複製乙份。這一切
把**段、唯讀資料段、資料段,移動到它的鏈結位址處。
也就是複製!
資料複製的三要素:源、目的、長度。
這3要素怎麼得到?
在gcc中,使用鏈結指令碼來描述。
在keil中,跟鏈結指令碼對應的是雜湊檔案,雜湊的意思就是"分散排列"。
在stm32f103這類資源緊缺的mcu微控制器晶元中:
但是,在資源豐富的mpu板子上:
基於這些特點,在mpu板子上
跟我一起學攝影
咦 好巧!我也是攝影愛好者。咱們一起學習吧。或許你也有這樣的體驗,並茂的文章更能讓人快速進入學習狀態,更何況是攝影,必須有圖。下面是我彙總的資料,必須深入淺出,拒絕一切晦澀難懂。學習課本 1.佳能官網 能系統學習攝影知識,從入門 初級 中級 高階 高階。每個頁面講解乙個知識點,結合實際的拍攝效果,深...
跟我一起學python 跟我一起學人工智慧(一)
跟我一起學人工智慧 一 文 小步 系列第一講正式開課啦,課程全都是可以實操的乾貨,到後面ai演算法 python 可以結合做出乙個簡單的人工智慧應用 因本人也對ai領域涉足不久,如文章有不妥之處還請各位大神與我多多交流,此系列文章也屬於我學習ai過程中的總結,我也會做到盡量寫出只要是高中畢業就能看懂...
跟我一起學OpenGL texture 紋理
前面學習了畫普通的圖形,但是顏色比較單一,有什麼好的方法讓圖形顏色更加豐富,更加真實呢?texture 中文譯為紋理 就可以扮演這一角色,本節則簡單說明texture的使用。執行下面的程式,便可出現乙個黑白相間的棋盤 1 include 2 include 3 include 4 using nam...