單片機C語言的內存泄露總結

來源:文萃谷 2.35W

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

單片機C語言的內存泄露總結

日常項目中碰到的內存泄露無非有以下幾種:

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

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

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

熱門標籤