• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • C++編程中的四個調試小技巧

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    1、調試標記 適用預處理#define定義一個或多個調試標記,在代碼中把調試部分使用#ifdef和#endif進行管理。當程序最終調試完成后,只需要使用#undef標記,調試代碼就會消失。常用的調試標記為DEBUG, 語句序列: #define DEBUG #ifdef DEBUG 調試代碼 #endif 2
    1、調試標記

    適用預處理#define定義一個或多個調試標記,在代碼中把調試部分使用#ifdef和#endif進行管理。當程序最終調試完成后,只需要使用#undef標記,調試代碼就會消失。常用的調試標記為DEBUG, 語句序列:







    #define DEBUG
                #ifdef DEBUG
                調試代碼
                #endif

    2、運行期間調試標記

    在程序運行期間打開和關閉調試標記。通過設置一個調試bool標記可以實現。這對命令行運行的程序更為方便。例如下面代碼:

     

    #include<iostream>
                #include <string>
                using namespace std;
                bool debug =false;
                int main(int argc,char*argv[])
                {
                 for(int i=0;i<argc;i++)
                  if(string(argv[i])==“--debug=on“)
                  debug = true;
                  bool go=true;
                  while(go)
                  {
                   if(debug)
                   {
                    調試代碼
                   }else {}
                  }
                }

    3、把變量和表達式轉換成字符串

    可是使用字符串運算符來實現轉換輸出定義

     

    #define PR(x) cout<<#x”=”<<x<<'\n'

    4、c語言的assert()

    該宏在中,,當使用assert時候,給他個參數,即一個判讀為真的表達式。預處理器產生測試該斷言的代碼,如果斷言不為真,則發出一個錯誤信息告訴斷言是什么以及它失敗一會,程序會終止。

     

    #include< assert>
                using namsapce std;
                int main()
                {
                 int i=100;
                 assert(i!=100);
                //Fails
                }
                當調試完畢后在#include<assert>前
                加入#define NDEBUG即可消除紅產生的代碼
                }

    原文轉自:http://www.kjueaiud.com

    評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>