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

隨筆-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 楚天清秋 閱讀(572) 評論(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>
            国产精品每日更新| 亚洲一区二区高清| 最新亚洲一区| 欧美一区二区女人| 欧美14一18处毛片| 亚洲午夜电影在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美电影免费| 亚洲综合不卡| 欧美日韩国产成人| 亚洲国产福利在线| 久久一区二区三区超碰国产精品| 亚洲美女av黄| 欧美二区在线播放| 伊人久久av导航| 久久av一区| 亚洲视频免费在线| 欧美人妖在线观看| 亚洲精品影视| 亚洲第一区在线观看| 欧美一区=区| 国产欧美精品va在线观看| 亚洲午夜在线视频| 亚洲精品免费在线观看| 欧美成人69| 最新日韩精品| 亚洲高清自拍| 国产精品自拍在线| 久久精品色图| 久久精品国产免费观看| 黄色一区二区在线观看| 麻豆成人综合网| 久久久之久亚州精品露出| 国产一区自拍视频| 久久免费99精品久久久久久| 亚洲伊人伊色伊影伊综合网 | 久久精品网址| 一区二区亚洲精品| 正在播放日韩| 91久久综合| 久久www成人_看片免费不卡| 国产亚洲日本欧美韩国| 久久这里只有| 国产精品女主播在线观看| 欧美成人免费va影院高清| 国产精品影片在线观看| 亚洲人体一区| 最新日韩在线| 久久影视精品| 一本在线高清不卡dvd | 午夜视黄欧洲亚洲| 午夜精品久久久久久久男人的天堂| 国产精品久久毛片a| 亚洲欧洲视频在线| 亚洲国产精品一区在线观看不卡| 久久久久久久久久久久久久一区| 久久gogo国模裸体人体| 亚洲一区二区网站| 久久精品视频导航| 久久九九免费视频| 国产日韩精品一区二区三区在线| 美女视频黄a大片欧美| 欧美激情第1页| 欧美国产精品va在线观看| 激情六月综合| 久久久久久亚洲精品杨幂换脸 | 亚洲午夜在线观看| 欧美日韩成人在线视频| 亚洲黑丝在线| 国产伦精品一区二区三区照片91| 一本色道综合亚洲| 怡红院精品视频| 久久精品主播| 欧美高清在线精品一区| 亚洲国产精品第一区二区三区| 久久久五月天| 亚洲国产裸拍裸体视频在线观看乱了| 伊人成年综合电影网| 久久亚洲精品网站| 欧美在线免费观看| 国产亚洲午夜| 久久视频这里只有精品| 亚洲电影欧美电影有声小说| 亚洲精品国精品久久99热一| 久久成人免费网| 免费观看成人www动漫视频| 亚洲国产专区| 欧美日韩伊人| 亚洲电影av在线| 亚洲视频一区二区| 欧美电影免费网站| 日韩亚洲欧美精品| 日韩午夜激情av| 可以看av的网站久久看| 亚洲第一页自拍| 亚洲在线黄色| 在线观看日韩国产| 欧美日韩无遮挡| 欧美中文在线观看国产| 亚洲电影成人| 欧美在线播放视频| 在线成人小视频| 欧美日韩在线观看一区二区三区| 亚洲直播在线一区| 欧美激情四色| 亚洲伦伦在线| 国产欧美视频一区二区三区| 免费观看在线综合色| 欧美成人综合| 午夜精品久久| 亚洲国产日韩欧美在线99| 欧美午夜免费电影| 亚洲一区二区三区视频播放| 欧美.com| 欧美综合国产精品久久丁香| 亚洲毛片网站| 精品成人一区二区三区| 国产精品久久久久久久久久免费 | 另类天堂av| 亚洲欧美春色| 国产精品视频一二三| 性视频1819p久久| 久久一区二区三区国产精品| 亚洲视频精品| 亚洲美女视频| 亚洲高清色综合| 国产欧美一区二区三区沐欲| 欧美日韩亚洲综合在线| 欧美成在线视频| 久久综合伊人| 久久国产精品第一页| 亚洲欧美视频| 亚洲午夜日本在线观看| 亚洲免费观看高清完整版在线观看| 欧美成年人视频网站| 久久精精品视频| 欧美影院一区| 欧美在线免费观看亚洲| 亚洲自拍另类| 亚洲一区日本| 亚洲一区二区在线免费观看| 夜夜嗨一区二区三区| 亚洲精品永久免费| 亚洲精品久久久久久久久久久久久| 在线观看福利一区| 136国产福利精品导航| 欧美日韩福利视频| 欧美日韩黄色大片| 欧美日韩高清在线| 欧美色图天堂网| 久久久久久午夜| 久久久精品性| 裸体女人亚洲精品一区| 免播放器亚洲| 欧美激情乱人伦| 欧美一区成人| 欧美诱惑福利视频| 久久人人爽国产| 欧美福利一区二区三区| 欧美精品日韩| 国产精品久久久久久超碰| 国产精品一区二区在线观看不卡| 国产伦精品一区二区三| 激情亚洲成人| 99ri日韩精品视频| 午夜精品久久久99热福利| 久久精品人人爽| 欧美不卡视频一区发布| 亚洲精品午夜| 午夜精品三级视频福利| 久久深夜福利免费观看| 欧美日韩成人综合天天影院| 国产精品视频观看| 雨宫琴音一区二区在线| 99成人在线| 久久精品日韩| 亚洲三级观看| 欧美一区二区在线播放| 欧美不卡三区| 国产午夜亚洲精品不卡| 亚洲欧洲一区| 久久狠狠亚洲综合| 亚洲激情自拍| 久久黄色网页| 欧美日韩一区二区三区四区五区| 国产欧美日韩综合| 一区二区三区福利| 中国av一区| 免费不卡在线观看av| 一本色道久久88亚洲综合88| 久久激情五月激情| 欧美午夜宅男影院| 亚洲黄色免费电影| 久久精品国产综合精品| 亚洲精品女av网站| 性做久久久久久久久| 欧美日韩精品欧美日韩精品一| 国产一区二区三区高清| 亚洲午夜精品在线| 亚洲黄色大片|