• <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 閱讀(551) 評論(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:
            歡迎體驗

            97精品伊人久久大香线蕉| 天天做夜夜做久久做狠狠| 久久无码AV一区二区三区| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 国产99久久精品一区二区| 久久99精品久久久久久hb无码| 99精品国产99久久久久久97 | 久久久久国产精品熟女影院| AAA级久久久精品无码片| 国内精品免费久久影院| 亚洲国产精品无码久久98| segui久久国产精品| 久久久亚洲欧洲日产国码aⅴ| 狠狠精品干练久久久无码中文字幕 | 亚洲国产精品久久久天堂| 久久久久久一区国产精品| 日韩久久久久久中文人妻 | 精品一二三区久久aaa片| 久久久久人妻精品一区三寸蜜桃| 91精品国产91久久久久久| 亚洲国产日韩综合久久精品| 亚洲国产精品无码久久青草| 久久综合综合久久97色| 久久97精品久久久久久久不卡| 久久亚洲精品无码aⅴ大香| 精品久久亚洲中文无码| 狠狠综合久久综合88亚洲| 国产产无码乱码精品久久鸭| 国产精品久久久久影院嫩草| 久久99精品久久久久久hb无码| 精品无码久久久久国产| 国产精品久久99| 色综合久久久久综合99| 人妻精品久久久久中文字幕一冢本| 久久综合给合久久狠狠狠97色69| 中文字幕热久久久久久久| 欧美日韩中文字幕久久伊人| 欧美久久久久久精选9999| 久久精品视频免费| 狠狠色综合网站久久久久久久高清| 狠狠色丁香婷婷综合久久来|