• <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:
            歡迎體驗

            久久国产精品久久国产精品| 久久播电影网| 久久青青草原国产精品免费| 久久成人18免费网站| 99久久做夜夜爱天天做精品| 久久久无码精品亚洲日韩按摩| 久久夜色tv网站| 欧美日韩精品久久免费| 久久精品国产免费一区| 色综合久久夜色精品国产| 国产一久久香蕉国产线看观看| 亚洲国产天堂久久综合| 精品久久777| 精品国产青草久久久久福利| 色综合久久久久网| 亚洲AV无码久久精品成人| 久久久久九九精品影院| 久久青青草原精品影院| 欧美噜噜久久久XXX| 久久精品国产99久久香蕉| 熟妇人妻久久中文字幕| 伊人久久大香线蕉综合Av| 久久久久97国产精华液好用吗| 香蕉久久夜色精品国产小说| 亚洲精品乱码久久久久久| 漂亮人妻被中出中文字幕久久| 久久高清一级毛片| 久久精品国产99国产精偷| 国产∨亚洲V天堂无码久久久 | 国产精品99久久久久久猫咪 | 丁香五月综合久久激情| 99久久99久久久精品齐齐| 久久人人妻人人爽人人爽| 久久只有这精品99| 久久精品亚洲AV久久久无码| 亚洲七七久久精品中文国产| 无夜精品久久久久久| 亚洲国产成人乱码精品女人久久久不卡| 精品久久久久久无码免费| 久久久中文字幕日本| 久久久久亚洲AV片无码下载蜜桃|