具體來說,我的程序使用指向char的指針。該程序本身運行平穩,但每個循環我泄漏約8kb的數據。正如我發現的,我的錯誤在於我使用這些字符指針的風格。它是這樣的:字符指針內存泄漏
Draw(char *what1, char* onWhat1); //this is declaration
DrawAgain(char *what2, char* onWhat2); //declaration too
// both take two directories to two images, so i call it like this:
Draw("C:\a.bmp", "C:\b.bmp"){
//so what is pointer to a.bmp onWhat is pointer to b.bmp so i use them like this:
DrawAgain(what1, onWhat1);
}
程序中沒有其他泄漏(我刪除了幾乎所有的東西以找出這個)。所以我的問題是:「我如何釋放這個* char內存?如果我沒有分配它,只需鍵入就可以釋放它。」
這段代碼沒有泄漏,沒有任何東西可以免費使用。如果你有泄漏,它不在這個代碼中。 – nos 2011-03-05 21:41:26
你可以添加'what1'和'onWhat1'的聲明嗎? – fouronnes 2011-03-05 21:47:09
漏洞未在發佈代碼請發佈您的完整代碼 – 2011-03-05 21:48:54