Re: [問題] 請問BCB在有form的情況下
※ 引述《garylee.bbs@bbs.yzu.edu.tw (www.dev.idv.tw)》之銘言:
> ※ 引述《meltice.bbs@ptt.cc (三億兩千萬大散戶)》之銘言:
> > 用OutputDebugString
> > 直接執行exe檔
> > 用工具看Output
> > http://www.microsoft.com/technet/sysinternals/utilities/DebugView.mspx
> > 在IDE debug mode下debug訊息會被IDE攔截
> > 顯示在IDE的Output視窗內而不會顯示在DebugView內
> 這是把OutputDebugString包裝成比較像printf的範例。
> 參考參考吧。
> http://tinyurl.com/34pk3d
看了一下網頁內容,有個疑問
#ifdef _DEBUG
static void __dbg_printf (const char * format,...)
{
#define MAX_DBG_MSG_LEN (1024)
char buf[MAX_DBG_MSG_LEN];
va_list ap;
va_start(ap, format);
_vsnprintf(buf, sizeof(buf), format, ap);
OutputDebugString(buf);
va_end(ap);
}
#define DBG __dbg_printf
#else
static void __dbg_printf (const char * format,...) {}
#define DBG 1?((void)(NULL)):__dbg_printf
#endif
看得出來它讓 _DEBUG 沒定義時,程式中呼叫的 DBG 就完全不做任何事
可是為什麼還要特地寫成一個 conditional expression,而且還是絕對成立的
這樣有什麼特別用意嗎?
(畢竟此時直接呼叫空白定義版的 __dbg_printf 就已經達到不做事的目的了)
--
@, ●秘密情人● (bbs.cse.ttu.edu.tw)
~\ ◆ Post From: 220-132-114-113.HINET-IP.hinet.net ◆
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章