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

            Jiang's C++ Space

            創(chuàng)作,也是一種學習的過程。

               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::

            我們都知道MFC有個很有用的宏,叫TRACE,它用起來跟printf一樣簡單,能直接在VC++的output窗口中輸出調試信息,但非MFC的project卻沒有這個宏,只能用OutputDebugString這個API輸出,而OutputDebugString這個API卻不支持類似printf這樣的輸出格式,而且不能在Release版本中自動關閉,于是我自己寫了一個,其實實現(xiàn)起來還是蠻簡單的,上代碼:

            #ifdef _DEBUG
            #define MYTRACE  DbgStrOut
            #else
            #define MYTRACE
            #endif

            // My debug output function
            void DbgStrOut(const TCHAR *fmt, );
            把這個定義寫在預編譯頭中(默認是stdafx.h),就能很方便在別處調用了。這個MYTRACE的作用就相當于TRACE。下面是寫在cpp文件中的代碼。
            void DbgStrOut(const TCHAR *fmt, )
            {
                TCHAR szOutStr[
            512];

                va_list ap;
                va_start(ap, fmt);
                vswprintf(szOutStr, fmt, ap);
                va_end(ap);

                OutputDebugString(szOutStr);
            }
            這樣就可以了,我嘗試了Windows Mobile的項目,也是可以通過的,而且支持TCHAR字符串,也就是說可以用Unicode。:)
            posted on 2010-06-09 11:19 Jiang Guogang 閱讀(1302) 評論(4)  編輯 收藏 引用 所屬分類: Windows Programming

            評論

            # re: 非MFC程序使用TRACE 2010-06-09 11:34 matthew
            額,宏....
            你有沒有打算做win mobile的程序?
            我還打算玩玩adroid  回復  更多評論
              

            # re: 非MFC程序使用TRACE 2010-06-09 16:03 博主
            @matthew
            你可以玩玩,那玩意兒主要是用java開發(fā)的。  回復  更多評論
              

            # re: 非MFC程序使用TRACE 2010-08-10 13:36 Jiang Guogang
            補充,這是“安全版”的:
            #define OUTPUT_BUFF_LEN 512
            void DbgStrOut(const TCHAR *fmt, ...)
            {
            TCHAR szOutStr[OUTPUT_BUFF_LEN];

            va_list ap;
            va_start(ap, fmt);
            StringCbVPrintf(szOutStr, OUTPUT_BUFF_LEN, fmt, ap);
            va_end(ap);

            OutputDebugString(szOutStr);
            }  回復  更多評論
              

            # re: 非MFC程序使用TRACE 2011-06-27 14:49 Jiang Guogang
            后來發(fā)覺SDK提供了一個宏:RETAILMSG
            也有類似的功能。  回復  更多評論
              

            久久久久久久91精品免费观看| 99国产欧美久久久精品蜜芽| 精品久久久久中文字| 亚洲国产高清精品线久久| 精品久久久中文字幕人妻| 97久久精品国产精品青草| 人妻精品久久久久中文字幕| 丰满少妇高潮惨叫久久久| 午夜精品久久久久9999高清| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 久久人人爽人人爽人人片av麻烦 | 久久久久久久久66精品片| 99久久婷婷免费国产综合精品| 欧美久久一级内射wwwwww.| 1000部精品久久久久久久久| 波多野结衣久久一区二区 | 久久久久久综合网天天| 国产精品一久久香蕉国产线看 | 久久精品国产一区| 精品伊人久久大线蕉色首页| 久久精品国产一区二区| 韩国无遮挡三级久久| 久久久无码精品亚洲日韩蜜臀浪潮| 性高朝久久久久久久久久| 国产伊人久久| 亚洲国产成人久久精品动漫| 狠狠色丁香久久婷婷综合五月| 亚洲人成精品久久久久| 一本大道久久香蕉成人网| 国产精品免费久久久久久久久| 91精品国产91久久综合| 精品少妇人妻av无码久久| 久久综合狠狠综合久久| 日产精品久久久久久久性色| 久久久久无码精品国产不卡| 久久亚洲AV成人无码国产| 久久国产热精品波多野结衣AV| 久久精品人成免费| 国内精品伊人久久久久AV影院| 色综合久久无码五十路人妻| 潮喷大喷水系列无码久久精品|