Re: [問題] 請問BCB在有form的情況下

看板Programming作者時間18年前 (2007/04/06 02:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《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
文章代碼(AID): #165JbX00 (Programming)
文章代碼(AID): #165JbX00 (Programming)