當前位置:才華齋>計算機>C語言>

微控制器C語言的記憶體洩露總結

C語言 閱讀(2.43W)

C語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。那麼有關C語言的記憶體洩露情況是怎樣的'呢?以下僅供參考!

微控制器C語言的記憶體洩露總結

日常專案中碰到的記憶體洩露無非有以下幾種:

(1) 堆記憶體洩漏(Heap leak)。堆記憶體指的是程式執行中根據需要分配通過malloc,realloc new等從堆中分配的一塊記憶體,再是完成後必須通過呼叫對應的 free或者 刪掉。如果程式的設計的錯誤導致這部分記憶體沒有被釋放,那麼此後這塊記憶體將不會被使用,就會產生Heap Leak. 這是最常見的記憶體洩露。

(2)系統資源洩露(Resource Leak).主要指程式使用系統分配的資源比如 Bitmap,handle ,SOCKET等沒有使用相應的函式釋放掉,導致系統資源的浪費,嚴重可導致系統效能降低,系統執行不穩定

如果您建立一個可接合的POSIX執行緒,但是忘記聯接它,其資源或私有記憶體一直儲存在程序空間中,從未進行回收再利用。一定要聯接可接合的執行緒;否則,可能會引起嚴重的記憶體洩漏問題。