Windows API一日一練(35)OutputDebugString函數

來源:互聯網
上載者:User
 在軟體的開發過程裡,大部份時間是在做什麼呢?其實是在調試代碼,畢竟人類的思維方式是從簡單到複雜的過程,自然的認知過程也是從簡單到複雜。因此,開發軟體時,第一個版本總是先寫簡單的,然後慢慢地添加出錯處理上去,也把一些沒有想到的情況添加進去,那些沒有想到的錯誤,就叫做BUG。要根除一個軟體裡的BUG,是一件不容易的事情,不但要對這個軟體流程比較熟悉,還要對這個軟體的目標比較瞭解,還需要對這個開發平台瞭解,當然還需要不斷地測試不同的條件是否出錯。軟體的條件組合是2的N次方,所以不可能把所有組合都測試完成,只能選擇比較重要的進行測試,只要不影響軟體的使用,這個軟體就算是一款能夠掙錢的軟體了,不要希望這個軟體一點BUG都不出現,那是不現實的,或者說付出的代價也太大了,導致這個軟體的開發成本過高,公司當然是不能生存下去。因此,怎麼樣去平衡可使用性與軟體的BUG,就成為一件藝術的事情。不同的場合是不同的需求的,一定不要為了完美而完美。下面就介紹怎麼樣使用OutputDebugString來輸出調試資訊到開發平台裡。

函數OutputDebugString聲明如下:

WINBASEAPI
VOID
WINAPI
OutputDebugStringA(
    __in LPCSTR lpOutputString
    );
WINBASEAPI
VOID
WINAPI
OutputDebugStringW(
    __in LPCWSTR lpOutputString
    );
#ifdef UNICODE
#define OutputDebugString OutputDebugStringW
#else
#define OutputDebugString OutputDebugStringA
#endif // !UNICODE

調用這個函數的例子如下:
#001 //
#002 // 響應命令.
#003 // 蔡軍生 2007/09/13 QQ:9073204
#004 //
#005 LRESULT CCaiWinMsg::OnCommand(int nID,int nEvent)
#006 {
#007  // 菜單選項命令響應:
#008  switch (nID)
#009  {
#010  case IDC_CREATEBTN:
#011         //顯示一個按鈕。
#012         if (!m_hBtn)
#013         {
#014                m_hBtn = CreateWindow(_T("BUTTON"),_T("按鈕"),
#015                    WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON,
#016                    50,50,100,32,
#017                     m_hWnd,(HMENU)IDC_BTN,m_hInstance,NULL);
#018         }                                          
#019         break;
#020  case IDC_BTN:
#021        OutputDebugString(_T("按鈕按下/r/n"));
#022         break;
#023  default:
#024         return CCaiWin::OnCommand(nID,nEvent);
#025  }
#026
#027  return 1;
#028 }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.