- 相關(guān)推薦
單片機(jī)C語言有幾種內(nèi)存泄露問題
本文總結(jié)了單片機(jī)C語言幾種內(nèi)存泄露問題,日常項(xiàng)目中碰到的內(nèi)存泄露無非有以下幾種:
(1) 堆內(nèi)存泄漏(Heap leak)。
堆內(nèi)存指的是程序運(yùn)行中根據(jù)需要分配通過malloc,realloc new等從堆中分配的一塊內(nèi)存,再是完成后必須通過調(diào)用對應(yīng)的 free或者 刪掉。
如果程序的設(shè)計(jì)的錯(cuò)誤導(dǎo)致這部分內(nèi)存沒有被釋放,那么此后這塊內(nèi)存將不會被使用,就會產(chǎn)生Heap Leak. 這是最常見的內(nèi)存泄露。
(2)系統(tǒng)資源泄露(Resource Leak)。
主要指程序使用系統(tǒng)分配的資源比如 Bitmap,handle ,SOCKET等沒有使用相應(yīng)的函數(shù)釋放掉,導(dǎo)致系統(tǒng)資源的浪費(fèi),嚴(yán)重可導(dǎo)致系統(tǒng)效能降低,系統(tǒng)運(yùn)行不穩(wěn)定
如果您創(chuàng)建一個(gè)可接合的POSIX線程,但是忘記聯(lián)接它,其資源或私有內(nèi)存一直保存在進(jìn)程空間中,從未進(jìn)行回收再利用。
一定要聯(lián)接可接合的線程;否則,可能會引起嚴(yán)重的內(nèi)存泄漏問題。
【單片機(jī)C語言有幾種內(nèi)存泄露問題】相關(guān)文章:
單片機(jī)C語言的內(nèi)存泄露總結(jié)09-01
C語言中內(nèi)存分配問題09-13
C語言的內(nèi)存使用09-23
解析C語言結(jié)構(gòu)體對齊(內(nèi)存對齊問題)10-14
C語言內(nèi)存使用的常識09-28
C語言在單片機(jī)開發(fā)中的幾個(gè)問題06-30
C語言程序的內(nèi)存如何布局09-06