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

微控制器C語言有幾種記憶體洩露問題

C語言 閱讀(2.69W)

本文總結了微控制器C語言幾種記憶體洩露問題,日常專案中碰到的記憶體洩露無非有以下幾種:

微控制器C語言有幾種記憶體洩露問題

  (1) 堆記憶體洩漏(Heap leak)。

堆記憶體指的是程式執行中根據需要分配通過malloc,realloc new等從堆中分配的一塊記憶體,再是完成後必須通過呼叫對應的 free或者 刪掉。

如果程式的設計的錯誤導致這部分記憶體沒有被釋放,那麼此後這塊記憶體將不會被使用,就會產生Heap Leak. 這是最常見的記憶體洩露。

  (2)系統資源洩露(Resource Leak)。

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

如果您建立一個可接合的POSIX執行緒,但是忘記聯接它,其資源或私有記憶體一直儲存在程序空間中,從未進行回收再利用。

一定要聯接可接合的執行緒;否則,可能會引起嚴重的記憶體洩漏問題。