靜態重定位和動態重定位、內存動態分配和內存靜態分配


靜態重定位:即在程序裝入內存的過程中完成,是指在程序開始運行前,程序中的各個地址有關的項均已完成重定位,地址變換通常是在裝入時一次完成的,以后不再改變。

動態重定位:即在程序運行過程中要訪問數據時再進行邏輯地址與物理地址的變換(即在逐條指令執行時完成地址映射)。
(解決碎片問題,以及使程序可浮動的最好的辦法是采用動態重定位技術)

動態內存分配是指在程序執行的過程中動態地分配或者回收存儲空間的分配內存的方法。
動態內存分配不象數組等靜態內存分配方法那樣需要預先分配存儲空間,而是由系統根據程序的需要即時分配,且分配的大小就是程序要求的大小。

內存的靜態分配和動態分配的區別主要是兩個:
一是時間不同。靜態分配發生在程序編譯和連接的時候。動態分配則發生在程序調入和執行的時候。
二是空間不同。堆都是動態分配的,沒有靜態分配的堆。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM