• <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>

            山寨:不是最好的,是最適合我們的!歡迎體驗(yàn)山寨 中文版MSDN

            Blog @ Blog

            當(dāng)華美的葉片落盡,生命的脈絡(luò)才歷歷可見。 -- 聶魯達(dá)

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            BBS

            Blog

            Web

            最新評論

            ASSERT()是干什么用的?

            ASSERT()是一個(gè)調(diào)試程序時(shí)經(jīng)常使用的宏,在程序運(yùn)行時(shí)它計(jì)算括號內(nèi)的表達(dá)式,如果表達(dá)式為FALSE (0), 程序?qū)?bào)告錯(cuò)誤,并終止執(zhí)行。如果表達(dá)式不為0,則繼續(xù)執(zhí)行后面的語句。這個(gè)宏通常原來判斷程序中是否出現(xiàn)了明顯非法的數(shù)據(jù),如果出現(xiàn)了終止程序以免導(dǎo)致嚴(yán)重后果,同時(shí)也便于查找錯(cuò)誤。例如,變量n在程序中不應(yīng)該為0,如果為0可能導(dǎo)致錯(cuò)誤,你可以這樣寫程序:
                ......
                ASSERT( n != 0);
                k = 10/ n;
                ......
                ASSERT只有在Debug版本中才有效,如果編譯為Release版本則被忽略。
                assert()的功能類似,它是ANSI C標(biāo)準(zhǔn)中規(guī)定的函數(shù),它與ASSERT的一個(gè)重要區(qū)別是可以用在Release版本中。


            posted on 2007-09-20 22:39 isabc 閱讀(544) 評論(2)  編輯 收藏 引用 所屬分類: C++基礎(chǔ)

            評論

            # re: ASSERT()是干什么用的? 2007-09-20 22:39 Lee7

            Assert 宏應(yīng)該大家都知道是干什么用的吧, 可能大家一般都用來檢查下指針為空啊。
            不過assert還有許多使用技巧的。

            1.基本用法

            void VectorNormalize(Vec* src, Vec* dat)
            {
            float length;
            assert(src!=0);//檢查src向量必須不為空
            assert(dst!=0);//檢查dst向量必須不為空

            ..................
            ..................
            }

            2.讓assert嵌入更多的信息

            void VectorNormalize(Vec* src, Vec* dst)
            {
            float length;
            assert(src!=0 && "VectorNormalize: src vector pointer is Null");
            assert(dst!=0 && "VectorNormalize: dst vector pointer is Null");

            ...................
            ...................
            }
            有了這個(gè)直觀的字符串提示,就可以告訴當(dāng)前的函數(shù)名,錯(cuò)誤原因。
              回復(fù)  更多評論   

            # re: ASSERT()是干什么用的? 2007-09-20 23:00 Lee7

            trace 函數(shù)
            trace(expression:Object)

            可以使用 Flash 調(diào)試播放器捕獲 trace() 函數(shù)的輸出,并將該輸出寫到日志文件。

            語句;在測試模式中,計(jì)算表達(dá)式并在"輸出"面板中顯示結(jié)果。

            在測試 SWF 文件時(shí),使用此語句可在"輸出"面板中記錄編程注釋或顯示消息。使用 expression 參數(shù)可以檢查是否存在某種條件,或在"輸出"面板中顯示值。trace() 語句類似于 JavaScript 中的 alert 函數(shù)。

            可以使用"發(fā)布設(shè)置"對話框中的"省略跟蹤動(dòng)作"命令將 trace() 動(dòng)作從導(dǎo)出的 SWF 文件中刪除。

            可用性:ActionScript 1.0;Flash Lite 1.0

            參數(shù)
            expression:Object -- 要計(jì)算的表達(dá)式。在 Flash 創(chuàng)作工具中打開 SWF 文件時(shí)(使用"測試影片"命令),expression 參數(shù)的值顯示在"輸出"面板中。

            示例
            下面的示例使用 trace() 語句在"輸出"面板中顯示動(dòng)態(tài)創(chuàng)建的名為 error_txt 的文本字段的方法和屬性:

            this.createTextField("error_txt", this.getNextHighestDepth(), 0, 0, 100, 22);
            for (var i in error_txt) {
            trace("error_txt."+i+" = "+error_txt[i]);
            }
            /* output:
            error_txt.styleSheet = undefined
            error_txt.mouseWheelEnabled = true
            error_txt.condenseWhite = false
            ...
            error_txt.maxscroll = 1
            error_txt.scroll = 1
            */  回復(fù)  更多評論   

            廣告信息(免費(fèi)廣告聯(lián)系)

            中文版MSDN:
            歡迎體驗(yàn)

            国产精品岛国久久久久| 久久婷婷五月综合97色| 99精品伊人久久久大香线蕉| 国产精品久久久久影院色| 久久国产精品无码一区二区三区| 国产激情久久久久影院老熟女免费| 精品久久久久久久中文字幕 | 亚洲精品高清一二区久久| 日本精品一区二区久久久| 日韩AV无码久久一区二区| 国产午夜福利精品久久2021| 欧美亚洲国产精品久久久久| 久久丫精品国产亚洲av不卡| 94久久国产乱子伦精品免费| 色婷婷狠狠久久综合五月| 久久久久AV综合网成人| 亚洲v国产v天堂a无码久久| 韩国免费A级毛片久久| 亚洲va久久久久| 久久er国产精品免费观看8| 久久综合给合久久国产免费| 亚洲精品午夜国产va久久| 国产精自产拍久久久久久蜜| 97久久超碰国产精品2021| 狠狠综合久久AV一区二区三区| 狠狠综合久久综合中文88 | 中文字幕日本人妻久久久免费| 久久国产精品免费| 国产91色综合久久免费| 久久精品国产99久久久| 亚洲AV无码成人网站久久精品大| 久久久久久久女国产乱让韩| 久久妇女高潮几次MBA| 色综合合久久天天给综看| 日韩欧美亚洲综合久久影院d3| 久久黄视频| 国产精品久久久久久久久久影院| 色综合久久综合中文综合网| 国产aⅴ激情无码久久| 久久精品日日躁夜夜躁欧美| 狠狠色噜噜色狠狠狠综合久久 |