日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++中Delete时堆错误(Heap Corruption)的原因

發布時間:2025/3/21 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中Delete时堆错误(Heap Corruption)的原因 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近這三四天一直在跟一個bug做斗爭:程序在運行過程中死掉,Output窗口顯示:

? ? ? ? 1.Windows has triggered a breakpoint in ***,?This may be due to a corruption of the heap...

? ? ? ? 2.Access violation reading location...

? ? ? ? 今天下午終于找到了真正的原因。那也就順便把關于這個問題Google到的知識總結一下:

?

? ? ? ??

? ? ? ? 這些問題均有可能代表程序中出現了堆錯誤。

? ? ? ? 而出現堆錯誤的原因主要有 以下兩大類:

?

? ? ? ? 首先是工程設置方面的問題:

? ? ? ? 1.在dll中申請的內存(new)在exe中釋放了(delete),這時有可能會報堆錯誤;這時需要在dll中導出一個用于釋放內存的函數;

? ? ? ? 2.在一個dll中申請的內存,在另一個dll中釋放;而這兩個dll使用的運行時庫不同。這時可以如1一樣確保哪個模塊申請的內存就在那個模塊釋放,也可以將兩個工程的運行時庫設置成同一個,即MD(d)或者MT(d);

?

? ? ? ? 第二類是代碼邏輯中的問題:

? ? ? ? 1.同一塊地址的指針被釋放(delete)了兩次,會導致以上錯誤。一般地,在每次釋放內存之后,都將相應指針設置為NULL,并在delete指針之前進行檢查,可以避免這種問題;

? ? ? ? 2.內存申請之后,又對相應指針進行了改變,例如自增的(++)操作,使得指針沒有指向內存塊的首地址,也會出現這種錯誤。一般地,在申請到內存后需要指針運算的,拷貝一份指針變量進行運算,而原指針變量則保持不變。

?

? ? ? ? 我遇到的問題是屬于第二類的第一種,但是涉及到了多線程的問題,比較隱蔽。具體是這樣的:

? ? ? ? 有四個隊列A1,A2,B1,B2,有兩個線程需要通過一個類D的函數將A1,A2中的數據取出來,并復制一份,放入B1,B2。我在類D中定義了一個成員變量M用于臨時存放A1,A2中的數據。當第一個線程將A1中數據賦給M之后,還沒有將M放入B1之前,可能第二個線程就把M又賦成了A2中的數據。這樣最后存放入B1,B2就是同一份數據,也就是兩個指針指向了同一塊內存。這樣,在釋放內存的時候,就會出現delete兩次同一塊內存的情況了。

? ? ? ? 這種情況下,給成員變量M加鎖,或者使用兩個成員變量分別對應兩個線程,都可以解決這個問題。

? ? ? ? ? ? 歡迎轉載,轉載請注明出處http://ushertechblog.sinaapp.com/post-27.html

總結

以上是生活随笔為你收集整理的C++中Delete时堆错误(Heap Corruption)的原因的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产又黄又嫩又滑又白 | 青青草综合 | 日韩性在线 | 国产一区二区三区四区五区六区 | 美女在线免费视频 | 久久黄色一级视频 | 女人高潮潮呻吟喷水 | 一级片大全 | 亚洲欧美一区二区激情 | av黄色av| 国产午夜精品一区二区理论影院 | 日韩一区二区免费看 | 91av俱乐部| 国产卡一卡二 | 日韩精品人妻中文字幕有码 | 91久久久久久久久久 | 苍井空浴缸大战猛男120分钟 | 亚洲人人夜夜澡人人爽 | 欧美久久久一区二区三区 | 午夜两性视频 | 丰满人妻一区二区三区免费 | www色天使 | 国产麻豆一级片 | 国产网红在线观看 | 一区二区三区免费看视频 | 91超碰人人 | 国产一级特黄a高潮片 | 日韩欧美中文在线观看 | 日韩一区视频在线 | 老司机深夜视频 | 四虎影视成人永久免费观看亚洲欧美 | 性色av一区二区三区 | 国产一区二区三区四区五区在线 | 越南毛茸茸的少妇 | 蜜桃成人在线视频 | 伊人影院亚洲 | 国产精品4区 | 久久不卡日韩美女 | 日韩美女视频在线观看 | 成人午夜性视频 | 最近国语视频在线观看免费播放 | av成人在线网站 | 梦梦电影免费高清在线观看 | 日韩精品一区二区三区丰满 | 久久久免费高清视频 | 国产999在线观看 | 日韩一二三四区 | 国产中文字幕亚洲 | 禁断介护av | 成人资源在线观看 | 日韩在线视屏 | 青青国产 | 国产日韩第一页 | 狠狠干天天干 | 午夜视频国产 | 波多野结衣电影在线播放 | 奇米网一区二区 | 久久色在线视频 | 亚洲欧洲色图 | 日本中文字幕一区二区 | 精品国产精品三级精品av网址 | 日韩精品视频三区 | 国产一级片 | a级片网站 | 韩国成人理伦片免费播放 | 新婚夫妇白天啪啪自拍 | 狠狠躁18三区二区一区传媒剧情 | 人妻天天爽夜夜爽一区二区三区 | 美女激情av | 久久成人a毛片免费观看网站 | 国产精品免费无遮挡无码永久视频 | av成人在线免费观看 | 成人在线高清视频 | 黄色成人在线播放 | 毛片一区 | 99999精品视频| 超级碰在线视频 | 成年人国产 | 少妇天天干 | 日韩深夜在线 | 超碰免费在 | 色哟哟在线观看 | 黄色国产网站 | 亚洲第二色 | 欧美精品在线一区二区 | 国产乡下妇女做爰 | 女同av在线播放 | 精品无码久久久久 | 伊人影院综合 | 精品国产三级片在线观看 | 国产成人免费av | 美日韩成人 | 性久久久久久久久久久久 | 美女黄色录像 | av嫩草 | www.激情五月.com| 一级黄色免费网站 | 中文日韩 | 国产精品一区二区三区在线看 |