連結器與載入器與執行檔格式
以C語言的malloc配置的記憶體,一般是從行程的哪個區域取得?
- A.text區段
- B堆積
- C.rodata區段
查看答案與解析
正確答案:B. 堆積
堆積是在程式執行中配置所需大小的記憶體,不需要時再以free歸還的區域。其特徵是配置的大小與生命週期可在執行時決定。malloc會自行管理空閒區域,不足時再請求作業系統擴大區域(在Linux中是brk或mmap系統呼叫)。若忘了free,就會殘留不再使用的記憶體,形成記憶體洩漏(memory leak)。
- A. .text是機器碼的區域,無法寫入。
- B. 正確。是只配置執行中所需份量的區域。
- C. .rodata是禁止寫入的常數區域。