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

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

            Blog @ Blog

            當華美的葉片落盡,生命的脈絡才歷歷可見。 -- 聶魯達

            常用鏈接

            統計

            積分與排名

            BBS

            Blog

            Web

            最新評論

            ASSERT()是干什么用的?

            ASSERT()是一個調試程序時經常使用的宏,在程序運行時它計算括號內的表達式,如果表達式為FALSE (0), 程序將報告錯誤,并終止執行。如果表達式不為0,則繼續執行后面的語句。這個宏通常原來判斷程序中是否出現了明顯非法的數據,如果出現了終止程序以免導致嚴重后果,同時也便于查找錯誤。例如,變量n在程序中不應該為0,如果為0可能導致錯誤,你可以這樣寫程序:
                ......
                ASSERT( n != 0);
                k = 10/ n;
                ......
                ASSERT只有在Debug版本中才有效,如果編譯為Release版本則被忽略。
                assert()的功能類似,它是ANSI C標準中規定的函數,它與ASSERT的一個重要區別是可以用在Release版本中。


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

            評論

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

            Assert 宏應該大家都知道是干什么用的吧, 可能大家一般都用來檢查下指針為空啊。
            不過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");

            ...................
            ...................
            }
            有了這個直觀的字符串提示,就可以告訴當前的函數名,錯誤原因。
              回復  更多評論   

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

            trace 函數
            trace(expression:Object)

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

            語句;在測試模式中,計算表達式并在"輸出"面板中顯示結果。

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

            可以使用"發布設置"對話框中的"省略跟蹤動作"命令將 trace() 動作從導出的 SWF 文件中刪除。

            可用性:ActionScript 1.0;Flash Lite 1.0

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

            示例
            下面的示例使用 trace() 語句在"輸出"面板中顯示動態創建的名為 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
            */  回復  更多評論   

            廣告信息(免費廣告聯系)

            中文版MSDN:
            歡迎體驗

            久久久精品一区二区三区| 久久久久无码国产精品不卡| 狠狠色噜噜色狠狠狠综合久久| 性做久久久久久久久久久| 久久久久久久久66精品片| 久久久久女人精品毛片| 久久久WWW成人| 久久精品中文闷骚内射| 理论片午午伦夜理片久久 | 亚洲国产二区三区久久| 日本精品一区二区久久久| 久久精品国产亚洲av高清漫画 | 久久无码国产| 国产精品久久久久久吹潮| 一级做a爰片久久毛片看看| 久久精品一区二区国产| 99久久这里只精品国产免费| 国产真实乱对白精彩久久| 久久久久人妻一区精品色| 国产精品久久久久久久久软件 | 九九久久精品国产| 久久久久无码精品国产| 久久综合偷偷噜噜噜色| 久久精品国产色蜜蜜麻豆| 久久99精品综合国产首页| 久久综合给合久久狠狠狠97色| 日本欧美国产精品第一页久久| 国产成人久久久精品二区三区| 久久久久亚洲av无码专区导航 | 国产精品99久久不卡| 久久精品a亚洲国产v高清不卡| 久久久久99这里有精品10| 久久免费观看视频| 久久精品无码一区二区日韩AV| 久久―日本道色综合久久| 精品一区二区久久| 国产日产久久高清欧美一区| 久久免费国产精品一区二区| 国产精品久久久久久搜索| 久久精品无码一区二区三区| 国产精品免费久久久久久久久|