青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

兔子的技術博客

兔子

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

留言簿(10)

最新評論

閱讀排行榜

評論排行榜

     剛才修改UI編輯器一個小功能,莫名其妙出現內存泄露。經過跟蹤,發現是 _variant_t 在搗鬼,來看這句代碼:
1    bool AddToCollection(IUnknown *lpiFile);
2    bool AddToCollection(VARIANT &varFile);
3    _variant_t GetDSFile();
4 
5    AddToCollection(GetDSFile());   // 這句將導致內存泄露!

     初看沒什么問題,但上面的代碼最后一句將的確導致內存泄露!
     改成如下方式后正常:
1     bool AddToCollection(IUnknown *lpiFile);
2     bool AddToCollection(VARIANT &varFile); 
3     _variant_t GetDSFile();
4 
5     _variant_t varFile = GetDSFile();
6     AddToCollection(varFile);   // 正常!

      進一步跟蹤發現,第一種方式調用的 AddToCollection(IUnknown *lpiFile) ,檢查 _variant_t 的重載代碼如下:
 1 // Extracts a VT_UNKNOWN into an IUnknown*
 2 //
 3 inline _variant_t::operator IUnknown*() const 
 4 {
 5     if (V_VT(this) == VT_UNKNOWN) {
 6         if (V_UNKNOWN(this) != NULL) {
 7             V_UNKNOWN(this)->AddRef();    // 就是這里增加了引用計數
 8         }
 9         return V_UNKNOWN(this);
10     }
11 
12     _variant_t varDest;
13     varDest.ChangeType(VT_UNKNOWN, this);
14 
15     if (V_UNKNOWN(&varDest) != NULL) {
16         V_UNKNOWN(&varDest)->AddRef();    // 就是這里增加了引用計數
17     }
18 
19     return V_UNKNOWN(&varDest);
20 }

      注意到,上面的代碼中有兩處增加了引用計數!
      問題就出在這里!
      一般來講,從函數返回值返回的 COM 指針是不增加引用計數的,如果調用者需要持有該指針,由調用者自己增加引用計數即可,但不知為何,這里會增加引用計數,不解!!!!!

      另外  GetDSFile() 返回的是 _variant_t ,為什么編譯器要去調用  AddToCollection(IUnknown *lpiFile) ?  其實是因為 GetDSFile() 返回的是臨時變量,臨時變量優先匹配 const 的重載,所以將 bool AddToCollection(VARIANT &varFile); 改成 bool AddToCollection(const VARIANT &varFile); 也可以!!

posted on 2012-01-18 11:58 會飛的兔子 閱讀(540) 評論(0)  編輯 收藏 引用 所屬分類: C++及開發環境
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲成人影音| 亚洲永久字幕| 亚洲电影在线观看| 久久久久久一区二区三区| 黄色在线一区| 欧美va日韩va| 欧美大片在线看免费观看| 亚洲日本va午夜在线电影| 最近看过的日韩成人| 欧美日韩精品免费在线观看视频| 99精品视频免费观看| 一本色道久久88综合日韩精品| 欧美日韩精品免费在线观看视频| 亚洲午夜精品久久久久久浪潮| 中国女人久久久| 国产主播精品在线| 欧美高清视频在线| 欧美视频一区在线| 欧美一区二区三区在| 久久精品国产亚洲aⅴ| 亚洲激情小视频| 在线亚洲精品| 影音先锋另类| 亚洲精品久久视频| 国产亚洲精品一区二555| 美女视频黄免费的久久| 欧美日韩国语| 久久午夜国产精品| 欧美日本一区二区高清播放视频| 午夜精品成人在线| 美日韩精品免费| 午夜一区在线| 欧美~级网站不卡| 欧美综合激情网| 欧美精品久久99| 欧美自拍偷拍午夜视频| 欧美激情综合亚洲一二区 | 欧美一区二区三区免费大片| 亚洲国产一区二区三区高清| 国产精品99久久久久久有的能看| 激情91久久| 亚洲性图久久| 日韩视频免费看| 久久九九热re6这里有精品| 一区二区欧美在线观看| 久久精品国产欧美亚洲人人爽| 在线中文字幕一区| 欧美二区在线| 久久先锋影音| 国产精品自在线| 中文一区字幕| 亚洲视频日本| 欧美激情精品久久久久久| 鲁大师影院一区二区三区| 国产麻豆精品在线观看| 中文一区在线| 亚洲午夜未删减在线观看| 米奇777超碰欧美日韩亚洲| 久久精品一本久久99精品| 国产精品久久久久天堂| 亚洲蜜桃精久久久久久久| 在线观看亚洲| 久久精品系列| 免费日韩精品中文字幕视频在线| 国产三级欧美三级日产三级99| 一区二区三区欧美| 亚洲视频久久| 欧美体内she精视频| 一本色道久久加勒比88综合| 日韩小视频在线观看| 欧美激情精品久久久六区热门| 欧美电影资源| 亚洲美女免费视频| 欧美va亚洲va日韩∨a综合色| 美女精品网站| 亚洲片区在线| 欧美大片一区二区| 亚洲三级免费| 亚洲一区二区三区高清不卡| 国产精品极品美女粉嫩高清在线 | 欧美亚洲视频一区二区| 欧美日韩一区二区三区免费看| 99国内精品| 亚洲主播在线观看| 国产日韩欧美电影在线观看| 欧美亚洲日本国产| 老鸭窝91久久精品色噜噜导演| 在线看一区二区| 免费av成人在线| 日韩一区二区高清| 午夜伦理片一区| 国产一区二区三区四区五区美女| 久久亚洲国产精品日日av夜夜| 亚洲成人在线视频网站| 一本久久综合亚洲鲁鲁五月天| 欧美日韩在线免费观看| 亚洲欧美日韩在线观看a三区 | 亚洲人精品午夜在线观看| 欧美激情五月| 亚洲综合精品四区| 老司机午夜精品视频| 一区二区高清视频| 国产精品社区| 欧美bbbxxxxx| 欧美一区二区三区婷婷月色| 欧美激情国产精品| 性欧美8khd高清极品| 伊人成综合网伊人222| 欧美精品一区三区| 欧美一区国产在线| 亚洲欧洲一区二区三区在线观看 | 一区二区三区精密机械公司| 国产乱码精品一区二区三区五月婷| 久久久久久一区| 中日韩视频在线观看| 欧美国产精品劲爆| 香蕉成人伊视频在线观看| 亚洲人成毛片在线播放女女| 国产日韩欧美一区在线 | 久久精品官网| 亚洲午夜激情在线| 欧美激情精品久久久久久变态| 午夜综合激情| 亚洲天堂成人在线观看| 亚洲国产婷婷香蕉久久久久久99| 国产精品久久久久一区二区三区共 | 亚洲啪啪91| 毛片av中文字幕一区二区| 亚洲男女自偷自拍| 亚洲精品在线观看免费| 激情五月***国产精品| 国产精品久久久爽爽爽麻豆色哟哟| 美女国产一区| 久久久噜噜噜久久| 性欧美18~19sex高清播放| 日韩特黄影片| 亚洲精品韩国| 亚洲日本欧美| 亚洲人成网站999久久久综合| 久久中文精品| 久久久久久久999| 校园激情久久| 欧美一级欧美一级在线播放| 亚洲在线观看免费视频| 日韩视频免费观看高清在线视频| 在线观看国产一区二区| 国模套图日韩精品一区二区| 国产精品色一区二区三区| 欧美性大战xxxxx久久久| 欧美人牲a欧美精品| 欧美日韩国产一区精品一区| 欧美人妖另类| 欧美视频日韩| 国产精品推荐精品| 国产日韩欧美制服另类| 国产在线精品一区二区中文| 国产亚洲精品一区二区| 在线播放视频一区| 亚洲电影视频在线| 亚洲狼人精品一区二区三区| 一区二区三区四区蜜桃| 亚洲视频一区在线观看| 亚洲免费一区二区| 欧美在线视频导航| 久久先锋影音| 亚洲国产午夜| 亚洲天堂av图片| 欧美在线视频免费| 麻豆国产精品va在线观看不卡| 欧美阿v一级看视频| 欧美性大战久久久久| 国产欧美在线观看一区| 136国产福利精品导航| 99视频一区二区三区| 香港久久久电影| 欧美国产视频在线观看| 亚洲日韩欧美一区二区在线| 一区二区三区日韩| 欧美在线视频a| 欧美区一区二区三区| 国产香蕉97碰碰久久人人| 亚洲品质自拍| 久久精品九九| 亚洲精品1区2区| 午夜精品一区二区三区在线| 久久综合久久久久88| 国产精品高潮视频| 亚洲高清久久网| 午夜精品久久久久久久久久久久久| 久久久久综合一区二区三区| 亚洲黄色影片| 欧美在线一级视频| 欧美日韩理论| 亚洲国产精品尤物yw在线观看| 亚洲永久在线| 亚洲激情一区二区三区| 久久精品国产欧美激情| 国产精品豆花视频| 99xxxx成人网| 欧美大成色www永久网站婷|