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

O(1) 的小樂

Job Hunting

公告

記錄我的生活和工作。。。
<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

統(tǒng)計

  • 隨筆 - 182
  • 文章 - 1
  • 評論 - 41
  • 引用 - 0

留言簿(10)

隨筆分類(70)

隨筆檔案(182)

文章檔案(1)

如影隨形

搜索

  •  

最新隨筆

最新評論

閱讀排行榜

評論排行榜

assert斷言

      ssert是只有定義了DEBUG才起作用的宏,如果其參數(shù)的計算結(jié)果為假,就中止調(diào)用程序的執(zhí)行。

    assert餅不是一個倉促拼湊起來的宏,為了不在程序的release和debug版本之間引起重要的差別,需要對其進(jìn)行仔細(xì)的定義。宏assert不應(yīng)該弄亂內(nèi)存,不應(yīng)該對未初始化的數(shù)據(jù)進(jìn)行初始化,即它不應(yīng)該產(chǎn)生其他副作用。正因為要求程序的debug版本和release版本行為完全相同,所以才不把assert作為函數(shù),而把它做成宏。如果把assert做成函數(shù)的話,其調(diào)用就會引起不期望的內(nèi)存或代碼的兌換。要記住,使用assert的程序員是把它看成一個在任意系統(tǒng)狀態(tài)下都可以安全使用的無害檢測手段。

   在同錯誤進(jìn)行斗爭時,每一點幫助都會有助于錯誤的發(fā)現(xiàn)。我們?yōu)槭裁匆切┳约簭膩矶加貌恢撵`活性呢?

#include <crtdefs.h>

#undef  assert

#ifdef  NDEBUG

#define assert(_Expression)     ((void)0)

#else

#ifdef  __cplusplus
extern "C" {
#endif

_CRTIMP void __cdecl _wassert(_In_z_ const wchar_t * _Message, _In_z_ const wchar_t *_File, _In_ unsigned _Line);

#ifdef  __cplusplus
}
#endif

#define assert(_Expression) (void)( (!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) )

#endif  /* NDEBUG */

以上為我的VS2008里面assert.h

  當(dāng)assert失敗時,他就會使用預(yù)處理程序根據(jù)宏_FILE_  _LINE_所提供的文件名和行號調(diào)用_wassert   _wassert在標(biāo)準(zhǔn)錯誤輸出設(shè)備stderr上打印一條錯誤信息,然后中止:

   void _wassert(char * strFile , unsigned uLine)

{

    fflush(stdout);

    fprintf(stderr,”\nAssertion failed : %s,line %u\n”,srFile, uLIne);

   fflush(stderr);

   abort();

}

   在執(zhí)行abort之前,需要調(diào)用fflush將所有的緩沖輸出寫到標(biāo)準(zhǔn)輸出設(shè)備stdout上。同樣,如果stdout 和stderr 都將指向同一設(shè)備,fflush stdout仍然要放在fflush stderr之前,以確保只有在所有的輸出都送到了stdout之后,fprintf才顯示相應(yīng)的錯誤信息。

   不管斷言宏最終是用什么樣子方法定義的,都要使用它來對傳遞給相應(yīng)函數(shù)的參數(shù)進(jìn)行確認(rèn)。如果在函數(shù)的每個調(diào)用點都對其進(jìn)行參數(shù)進(jìn)行檢查,錯誤很快就會被發(fā)現(xiàn)。斷言宏最好作用是使用戶在錯誤發(fā)生時,就可以自動地把他們檢查出來。

 

 

此外關(guān)于斷言,也有兩篇不錯的文章

http://blog.csdn.net/donghai51arm/archive/2009/11/28/4897004.aspx

http://dev.firnow.com/course/3_program/c++/cppsl/200861/118777.html

posted on 2010-09-02 21:18 Sosi 閱讀(837) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


統(tǒng)計系統(tǒng)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品日韩一| 欧美18av| 一区二区三区在线免费播放| 亚洲在线观看| 亚洲欧洲一区二区三区| 亚洲高清不卡av| 亚洲激情中文1区| 亚洲国产精品一区制服丝袜| 亚洲国产精品成人精品| 亚洲人成网站在线观看播放| 日韩视频第一页| 一区二区三区欧美亚洲| 亚洲一区二区三区中文字幕| 亚洲一区在线播放| 久久av最新网址| 久色成人在线| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲欧洲综合| 亚洲欧美在线一区二区| 久久亚洲精选| 国产麻豆午夜三级精品| 91久久国产综合久久蜜月精品 | 亚洲大片在线| 一本久道久久综合婷婷鲸鱼| 欧美在线播放高清精品| 欧美激情综合色| 亚洲国产欧美日韩另类综合| 一区二区三区久久久| 久久综合成人精品亚洲另类欧美| 最新高清无码专区| 久久久精品999| 国产亚洲一区二区三区在线观看| 一区二区三区国产精品| 欧美激情视频在线播放 | 美女网站在线免费欧美精品| 亚洲视频在线播放| 欧美午夜一区二区三区免费大片 | 欧美一级久久久久久久大片| 欧美日韩精品一本二本三本| 91久久久国产精品| 欧美国产精品va在线观看| 美女精品在线观看| 久久久久成人精品| 国产精品视频你懂的| 美日韩精品免费| 欧美日韩在线一区| 欧美不卡激情三级在线观看| 国产精品wwwwww| 最新日韩av| 日韩亚洲不卡在线| 免播放器亚洲一区| 狂野欧美激情性xxxx欧美| 国产精品亚发布| 亚洲一区黄色| 小黄鸭精品aⅴ导航网站入口| 欧美日韩第一页| 99国产精品| 欧美一级专区| 激情综合视频| 欧美成人影音| 亚洲精品乱码久久久久久| 亚洲激情中文1区| 欧美日韩国产综合视频在线观看中文 | 久久久成人网| 国产精品福利av| 国产精品视频1区| 亚洲天堂av在线免费观看| 亚洲国产高清一区| 香蕉成人伊视频在线观看 | 激情成人综合| 午夜亚洲性色福利视频| 久久久久久色| 欧美一区二区三区电影在线观看| 99成人在线| 欧美日韩国产黄| 亚洲美女精品成人在线视频| 亚洲国产国产亚洲一二三| 久久裸体艺术| 亚洲精品乱码久久久久久蜜桃91| 亚洲精品网站在线播放gif| 乱中年女人伦av一区二区| 久久美女性网| 影视先锋久久| 欧美www视频| 一区二区三区久久| 久久久久综合| 日韩亚洲国产欧美| 在线播放不卡| 亚洲国产成人高清精品| 激情综合色综合久久综合| 国产一区二区三区久久 | 久久久久久久久综合| 亚洲激情中文1区| 欧美激情第4页| 欧美一区=区| 久久国产精品久久精品国产| 国产日韩久久| 国产目拍亚洲精品99久久精品 | 欧美国产精品v| 又紧又大又爽精品一区二区| 另类专区欧美制服同性| 亚洲欧美一区二区三区在线| 国产午夜精品理论片a级大结局 | 亚洲欧洲日韩综合二区| 欧美成人免费小视频| 午夜精品在线观看| 欧美日韩亚洲视频一区| 狂野欧美激情性xxxx| 国产亚洲一二三区| 久久久久成人网| 久久婷婷av| 1024成人| 国产麻豆日韩欧美久久| 久久福利视频导航| 久久久国际精品| 亚洲激情欧美| 国产日韩欧美自拍| 久久精品日产第一区二区| 久久国产日韩欧美| 国产精品国产亚洲精品看不卡15| 亚洲欧美日韩一区| 性做久久久久久| 久久福利资源站| 亚洲高清久久| 亚洲影院色在线观看免费| 宅男噜噜噜66一区二区| 亚洲国产成人高清精品| 亚洲国产中文字幕在线观看| 欧美日韩免费观看一区二区三区| 午夜久久黄色| 亚洲精品午夜| 亚洲国产一区在线| 免费美女久久99| 亚洲美女中文字幕| 中日韩在线视频| 久久久久国产精品午夜一区| 欧美一级视频| 国产精品国产三级国产专播精品人| 最新高清无码专区| 99国产精品久久久久久久成人热| 免费看的黄色欧美网站| 欧美电影免费观看网站| 亚洲国产国产亚洲一二三| 久久综合色婷婷| 美乳少妇欧美精品| 亚洲二区在线| 欧美顶级少妇做爰| 亚洲精品一区二区三区99| 一区二区三区欧美视频| 欧美日韩亚洲一区二区三区| 一本大道久久a久久精品综合| 亚洲伊人色欲综合网| 国产精品日韩在线一区| 亚欧美中日韩视频| 噜噜噜在线观看免费视频日韩| 在线激情影院一区| 欧美精品播放| 亚洲一卡二卡三卡四卡五卡| 欧美一区二区精品在线| 一区二区三区在线观看欧美| 欧美黑人一区二区三区| 一区二区三区国产盗摄| 久久久99国产精品免费| 91久久午夜| 国产精品日韩在线| 久热这里只精品99re8久| 亚洲激情网站| 欧美有码在线观看视频| 影音国产精品| 欧美日韩午夜在线| 久久精品视频播放| 亚洲精品在线观| 久久久www成人免费毛片麻豆| 亚洲经典在线看| 国产精品一区二区久久| 美国十次成人| 亚洲专区免费| 亚洲国产日韩一区二区| 久久久国产精品一区二区中文 | 欧美大秀在线观看| 中文高清一区| 欧美黑人多人双交| 欧美一区亚洲一区| 一本色道久久综合亚洲二区三区 | 一道本一区二区| 在线观看视频一区二区欧美日韩| 欧美日韩一区二区三区在线视频| 久久成人人人人精品欧| 亚洲视频二区| 久久久久高清| 久久狠狠一本精品综合网| 亚洲精品欧美在线| 国产综合精品| 欧美午夜免费| 欧美1级日本1级| 久久精品免视看| 一本久久a久久精品亚洲| 在线观看精品| 国产一区二区精品久久99| 欧美日韩一区二区在线视频|