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

看板Programming作者時間17年前 (2008/08/16 21:32), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串3/3 (看更多)
> ==>發信人: mingtai1.bbs@ptt.cc (綠豆嘉義人), 信區: programming > 請問一下各位大大 > C裡面, 印象中要用動態記憶體管理像是malloc這種功能, > 是不是都要有OS支援才可以 ? > 那如果在沒有OS的環境下跑 (例如用ARM編譯到某種電路板上跑的程式) > 是不是這種功能就得要完全自己寫了呢 > 那如果要自己寫, 要怎麼得知目前記憶體的使用狀況勒? > 不知道這樣問會不會太怪 @_@ 一般 Compiler 都會提供 stdlib, 而 malloc 是 stdlib 中的一個標準函式 所以不管有沒有 OS, 應該都會有 如果你用的 compiler 沒有提供, 或是你想要練功, 而想自己寫看看, 偍供你 這個想法: 找出 data 和 bss 的頂端和 stack 最低位址間的記憶體容量 (heap size, 這個部份可以由 compiler 預設的 segment symbol 找出來), 然後分成固定 size (ex. 16 bytes) 的小區塊來管理 想要參考 source code 的話, 一些整合開發環境如 Keil C-51, IAR Embedded Workbench, Freescale Codewarrior, Renesas High-performance Embedded Workshop, Hi-Tech Soft PICC/PICC18 等都有提供 alloc 程式庫, 並且 C51, CW, HEW 和 PICC/PICC-18 評估版都有附 library source, 可以下載來研究看看 -- ** 版權聲明 ** 本篇文章歡迎轉載收錄,無須為任何用途支付任何費用。 本文一經轉載收錄引用,本人即無須對其內容負責。 -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 218-168-48-85.dynamic.hinet.n

08/17 01:39, , 1F
想說compiler和library是兩個不同的東
08/17 01:39, 1F

08/17 01:39, , 2F
08/17 01:39, 2F
文章代碼(AID): #18fjRI00 (Programming)
文章代碼(AID): #18fjRI00 (Programming)