關於部落格
職場生活筆記....熱情依然在
  • 50699

    累積人氣

  • 1

    今日人氣

    1

    追蹤人氣

#define new DEBUG_NEW

以下為在使用Visual C++ 並利用AppWizard產生MFC時,常見的程式碼....


#ifdef _DEBUG
#define new DEBUG_NEW
#endif


它所代表的意思為,當在Debug階段,我們程式碼中,只要有使用new來動態分配記憶體,所有的new 即代表DEBUG_NEW。


而此時的DEBUG_NEW除了要傳入動態分配記憶體區塊的大小,還要傳入source file的名稱與行號,與Release 階段的new差異很大。


主要的優點為,當記憶體發生overflow時,可以在Debug階段直接找到發生問題的程式碼區塊,另外假如將 DEBUG_NEW拿掉,在Debug階段沒辦法找到發生問題的程式碼區塊。
相簿設定
標籤設定
相簿狀態