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

隨筆-22  評論-7  文章-0  trackbacks-0
1#ifdef _DEBUG
2#define new DEBUG_NEW
3#undef THIS_FILE
4static char THIS_FILE[] = __FILE__;
5#endif

對于這段代碼的作用,通常有一下解釋:

 

        這個是為了VC檢測內存泄露而定義的, 只在 Debug 版本中;

        曾經一個解釋說,多次使用__FILE__宏,雖然得到字符串的內容相同,但是可能地址不同,即同一個字符串常量多次用到時占用不同的地址,這樣導致需要的內存增加了。為了檢測內在泄露, Debug 版本的 new 附加上了調用 new 的文件名與調用所在的行號信息, 這是通過 __FILE__ 和 __LINE__ 來實現的, 這兩個屬于預定義的內部宏, 而之所以要用 THIS_FILE 來代替 __FILE__, 是為了減少程序大小: 如果你在一個文件中有 10000 次對 new 的調用, 那么會生成 10000 個當前文件名的常量字符串(第一個都是由 __FILE__ 宏擴展而來的), 最后生成的目標文件會很大, 而用 THIS_FILE 來代替, 當前文件名只有一份, 傳遞文件名使用 THIS_FILE 指針就可以了。
            __FILE__和__LINE__一樣都是編譯器定義的宏。當碰到__FILE__時,編譯器會把__FILE__替換成一個字符串,這個字符串就是當前在編譯的文件的路徑名。在DEBUG_NEW的定義中沒有直接使用__FILE__,而是用了THIS_FILE,其目的是為了減小目標文件的大小。假設在某個cpp文件中有100處使用了new,如果直接使用__FILE__,那編譯器會產生100個常量字符串,這100個字符串都是這個cpp文件的路徑名,顯然十分冗余。如果使用THIS_FILE,編譯器只會產生一個常量字符串,那100處new的調用使用的都是指向常量字符串的指針。    
在   MFC   中,可以使用   DEBUG_NEW   宏代替   new   運算符來幫助定位內存泄漏。在程序的“Debug”版本中,DEBUG_NEW   將為所分配的每個對象跟蹤文件名和行號。當編譯程序的“Release”版本時,DEBUG_NEW   將解析為不包含文件名和行號信息的簡單   new   操作。因此,在程序的“Release”版本中不會造成任何速度損失。  
   
  如果不想重寫整個程序來使用   DEBUG_NEW   代替   new,則可以在源文件中定義下面的宏:  
   
  #define   new   DEBUG_NEW  
  當進行對象轉儲時,用   DEBUG_NEW   分配的每個對象均將顯示被分配到的文件和行號,使您可以查明內存泄漏源。  
   
  MFC   框架的“Debug”版本自動使用   DEBUG_NEW,但代碼不自動使用它。如果希望利用   DEBUG_NEW   的好處,則必須顯式使用   DEBUG_NEW   或   #define   new,如上所示。  
總起來講,這段代碼的作用就是防止內存泄露,減小程序編譯開銷的。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/Ronger0828/archive/2009/01/11/3750962.aspx

posted on 2010-04-20 15:58 楚天清秋 閱讀(562) 評論(0)  編輯 收藏 引用 所屬分類: VC++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美制服丝袜第一页| 欧美激情第10页| 欧美一级欧美一级在线播放| 亚洲电影欧美电影有声小说| 亚洲尤物精选| 欧美国产成人精品| 久久久久国产精品厨房| 久久国产日本精品| 久久久久天天天天| 久久久蜜桃精品| 猛男gaygay欧美视频| 欧美激情a∨在线视频播放| 欧美在线高清视频| 久久er精品视频| 欧美亚洲视频一区二区| 亚洲影音一区| 亚洲一区二区三区久久 | 免费观看30秒视频久久| 亚洲欧美日韩精品| 一区二区日韩精品| 亚洲精品国产精品国自产观看浪潮 | 久久亚洲精品伦理| 久久精品国产欧美亚洲人人爽| 性xx色xx综合久久久xx| 亚洲一区三区在线观看| 久久先锋影音av| 欧美系列电影免费观看| 一区二区视频欧美| 亚洲天天影视| 欧美jizzhd精品欧美喷水| 免费在线欧美视频| 欧美日韩亚洲不卡| 激情欧美国产欧美| 亚洲欧美电影在线观看| 欧美国产精品久久| 香蕉久久夜色精品国产使用方法 | 欧美视频免费在线观看| 国一区二区在线观看| 亚洲少妇在线| 亚洲国产精品黑人久久久| 亚洲欧美视频一区| 欧美日韩精品| 亚洲国产乱码最新视频| 久久精品91久久香蕉加勒比| 日韩视频三区| 欧美精品www| 亚洲观看高清完整版在线观看| 久久电影一区| 亚洲人久久久| 亚洲激情偷拍| 开元免费观看欧美电视剧网站| 亚洲综合另类| 国产精品久久久一区麻豆最新章节 | 欧美日本中文| 亚洲免费精彩视频| 亚洲福利视频一区| 免费短视频成人日韩| 伊人狠狠色j香婷婷综合| 欧美一区二区在线免费观看| 亚洲一区二区三区中文字幕 | 久久精品国产免费| 国产自产2019最新不卡| 久久激情五月丁香伊人| 午夜精品福利在线| 国产麻豆综合| 久久精品国产欧美亚洲人人爽| 亚洲在线播放| 国内精品视频666| 猛男gaygay欧美视频| 久久影院午夜论| 99国产精品| 中文欧美日韩| 国产一区二区高清| 欧美二区乱c少妇| 免费在线日韩av| 在线一区观看| 亚洲欧美日韩系列| 在线观看av一区| 亚洲国产精品毛片| 欧美视频在线免费看| 欧美在线视频一区二区三区| 久久久噜噜噜久久人人看| 亚洲精品视频中文字幕| 国产精品99久久久久久宅男| 国产亚洲亚洲| 亚洲国产欧美日韩精品| 欧美三级在线视频| 久久久xxx| 欧美日本韩国一区| 久久国产精品99国产| 免费在线观看成人av| 亚洲女人av| 欧美a级片网| 亚洲欧美激情诱惑| 久久久久久久999| 中文在线一区| 久久久久久日产精品| 国产精品99久久久久久白浆小说| 亚洲免费人成在线视频观看| 亚洲国产高清在线观看视频| 宅男精品视频| 亚洲区欧美区| 久久国产黑丝| 亚洲综合视频1区| 免费成人美女女| 欧美一级夜夜爽| 欧美日韩国产欧美日美国产精品| 欧美绝品在线观看成人午夜影视 | 亚洲精品1234| 国产一区在线观看视频| 亚洲理伦在线| 亚洲电影av在线| 午夜在线一区| 亚洲一区久久久| 欧美国产精品一区| 久热爱精品视频线路一| 国产欧美二区| 日韩亚洲国产精品| 亚洲欧洲综合另类在线| 久久久久久穴| 玖玖玖国产精品| 国产一区二区欧美| 午夜精品亚洲| 欧美永久精品| 国产精品一区免费视频| 99精品久久久| 在线亚洲欧美| 欧美日韩综合网| 99re8这里有精品热视频免费| 亚洲激情不卡| 欧美成人一区二区三区在线观看| 老司机午夜精品| 黄网站免费久久| 久久久精品国产一区二区三区| 久久国产精品久久久| 国产欧美亚洲日本| 午夜精品av| 久久婷婷综合激情| 伊人夜夜躁av伊人久久| 久久免费高清视频| 欧美1区2区3区| 亚洲欧洲日本在线| 欧美区日韩区| 夜夜嗨一区二区| 欧美一级网站| 伊人久久综合97精品| 欧美gay视频| 一本久久青青| 欧美亚洲一区| 精品不卡一区| 欧美成人免费在线视频| 亚洲国产精品女人久久久| 日韩午夜av电影| 国产精品久久国产精品99gif| 亚洲一区精品电影| 久久久久久久久岛国免费| 亚洲电影av| 欧美视频在线观看免费网址| 亚洲欧美日韩精品久久久久| 久久久综合视频| 日韩视频在线免费| 国产精品理论片在线观看| 久久国产黑丝| 亚洲精品久久久久中文字幕欢迎你| 亚洲一级黄色片| 国色天香一区二区| 欧美精品导航| 欧美在线观看天堂一区二区三区| 美日韩精品免费观看视频| 日韩视频二区| 国产亚洲欧美日韩一区二区| 男女激情视频一区| 亚洲免费在线观看| 亚洲丰满少妇videoshd| 亚洲欧美日韩国产中文| 1024国产精品| 国产精品资源在线观看| 欧美一区网站| 欧美日韩精品一区二区| 亚洲男人第一av网站| 亚洲高清123| 久久久噜久噜久久综合| 亚洲无吗在线| 亚洲福利精品| 国产日韩欧美在线视频观看| 欧美激情一区二区三区全黄| 亚洲嫩草精品久久| 亚洲人成人99网站| 久久人人97超碰国产公开结果 | 亚洲一区久久| 日韩视频在线观看| 欧美电影在线观看| 久久久久九九九九| 亚洲欧美国产精品专区久久| 亚洲国产日韩一区二区| 黄色在线成人| 国产午夜精品在线| 国产精品美女久久久| 欧美日韩麻豆| 欧美日韩精品二区|