Re: [問題] 沒有作業系統的動態記憶體管理

看板Programming作者 (㊣卡拉希尼卡撐可夫)時間17年前 (2008/08/16 00:01), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《mingtai1 (綠豆嘉義人)》之銘言: : 請問一下各位大大 : C裡面, 印象中要用動態記憶體管理像是malloc這種功能, : 是不是都要有OS支援才可以 ? : 那如果在沒有OS的環境下跑 (例如用ARM編譯到某種電路板上跑的程式) : 是不是這種功能就得要完全自己寫了呢 : 那如果要自己寫, 要怎麼得知目前記憶體的使用狀況勒? : 不知道這樣問會不會太怪 @_@ 把可用的記憶體視為一個大陣列,另外維護一個對照表 標示哪裡正在使用中,哪些可以用 也就是自己維護一個memory pool 基本的想法是,有一個指標new,這個new隨時指向可用的記憶體 如果記憶體滿了,那麼new = NULL 而表裡面每一項entry除了in_use以外,還要有一個nextfree指標 alloc記憶體的函數要可以尋找適當大小的連續區塊 陣列可以替換為其他資料結構,如heap等,原則不變   -- BATCH 03 : 買張床 - 切達大俠 - 伐木人之歌 - http://tinyurl.com/3zpyx5 [B4準備中]: 謳歌金錢(7/02) - 單車超人(7/23) - http://tinyurl.com/66v6vq [ 番外篇 ]: 包租婆也有過當羅莉的時候(7/17) - http://tinyurl.com/6j4ale ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ 蒙帝派松正體中文計畫 Spam-a-lot and enjoy the pythonesque delight! ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ http://www.youtube.com/user/JamesBondXD▄▄ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.115.206.183

08/16 10:55, , 1F
感謝!
08/16 10:55, 1F
文章代碼(AID): #18fQXXVV (Programming)
文章代碼(AID): #18fQXXVV (Programming)