• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            在DLL中用CRT靜態(tài)庫申請內(nèi)存,EXE釋放是不行的

            因為malloc/free,new/delete都是調(diào)用HeapAlloc/HeapFree來實現(xiàn)來實現(xiàn)內(nèi)存分配是釋放的。

            查看Windows的API可以看到,這兩個函數(shù)都需要一個Heap的HANDLE做為參數(shù)。CRT庫采用了全局變量來保存這個HANDLE。如果是CRT靜態(tài)鏈接,CRT庫的代碼會鏈接到各個DLL中去,也包括這個全局變量。

            也就是說,每個使用CRT靜態(tài)鏈接的dll中都有一個自己的全局堆句柄,他們自己都在這個句柄上使用內(nèi)存。當(dāng)釋放dll中分配的內(nèi)存時由于使用的堆句柄不一致于是出錯。

             

            當(dāng)使用CRT動態(tài)鏈接時,有于每個dll都是去調(diào)用CRT庫的dll函數(shù)來分配和釋放內(nèi)存的,使用的是同一個句柄,所以就沒有這個問題

            posted on 2011-05-06 12:33 肥仔 閱讀(545) 評論(0)  編輯 收藏 引用 所屬分類: Windows開發(fā)

            午夜精品久久久久| 久久婷婷五月综合国产尤物app| 91精品国产9l久久久久| 国产午夜精品久久久久九九| 久久最新免费视频| 久久综合88熟人妻| 一级做a爰片久久毛片16| 伊人久久大香线蕉亚洲五月天 | 精品欧美一区二区三区久久久| 污污内射久久一区二区欧美日韩| 嫩草伊人久久精品少妇AV| 久久人人爽人人爽人人片AV东京热| 热re99久久精品国99热| 热99RE久久精品这里都是精品免费| 久久亚洲精品中文字幕三区| 狠狠精品久久久无码中文字幕| 久久露脸国产精品| 久久精品国产亚洲综合色| 午夜人妻久久久久久久久| 热久久国产欧美一区二区精品 | 久久精品国产欧美日韩| 国产Av激情久久无码天堂| 亚洲精品乱码久久久久久中文字幕| 蜜臀久久99精品久久久久久| 久久免费精品视频| 久久被窝电影亚洲爽爽爽| 久久精品国产亚洲AV嫖农村妇女| 亚洲欧洲精品成人久久曰影片 | 久久婷婷国产剧情内射白浆| 欧美久久久久久午夜精品| 久久精品一区二区影院 | 久久久黄片| 久久一本综合| 亚洲综合久久夜AV | 狠狠色噜噜色狠狠狠综合久久| 色播久久人人爽人人爽人人片AV| 武侠古典久久婷婷狼人伊人| 久久国产亚洲精品| 亚洲国产精品一区二区久久hs| 久久久无码一区二区三区| 久久er国产精品免费观看2|