国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > Newlib關于malloc

Newlib關于malloc

時間:2022-02-07 16:40:01 | 來源:信息時代

時間:2022-02-07 16:40:01 來源:信息時代

大多數嵌入式操作系統(tǒng)都實現了自己的動態(tài)內存分配機制,并且提供了多任務環(huán)境下對內存分配機制的保護措施,如果移植newlib到這樣的系統(tǒng)時,可以放棄newlib自帶的malloc函數。盡管newlib自帶的malloc非常高效,但是幾乎所有的用戶都習慣使用malloc來作為動態(tài)內存分配器。在這種情況下,最好對系統(tǒng)自帶的動態(tài)內存分配API進行封裝,使它不論在風格、外觀上,還是在語義上都與malloc完全相同,這對于提高應用程序的可移植性大有好處。

對于那些沒有實現動態(tài)內存分配機制的嵌入式系統(tǒng)環(huán)境來說,newlib的malloc是一個非常好的選擇,只需實現sbrk樁函數,malloc就可以非常好地工作起來。與之同名的POSIX系統(tǒng)調用的作用是從系統(tǒng)中獲得一塊內存,每當malloc需要更多的內存時,都會調用sbrk函數。

在單任務環(huán)境下,只需實現sbrk樁函數,malloc就可以正常運行;但在多任務環(huán)境下,還需實現__malloc_lock()和__malloc_unlock()函數,newlib用這兩個函數來保護內存堆免受沖擊。用戶可利用目標環(huán)境中的互斥信號量機制來實現這兩個函數,在__malloc_lock()函數中申請互斥信號量,而在__malloc_unlock()函數中釋放同一個互斥信號量。

關鍵詞:

74
73
25
news

版權所有? 億企邦 1997-2025 保留一切法律許可權利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關閉