使用 _DEBUG 和 NDEBUG 進行調試
編寫需要調試的程式碼時,必須考慮要使用的適當的預處理器定義。通常,開發人員在使用 #ifdef _DEBUG、#ifndef NDEBUG 或定義自訂巨集(如 #define MY_DEBUG)之間陷入困境。
_DEBUG 與 NDEBUG:比較
_DEBUG 和 NDEBUG 有不同的用途:_DEBUG,特定於 Visual Studio,使用 /MTd 或 /MDd 編譯器選項啟動。另一方面,NDEBUG 禁用 C 標準定義的斷言。正確使用這些定義至關重要。例如,_DEBUG 將偵錯程式碼與 Microsoft C 執行時期程式庫採用的技術結合。同樣,NDEBUG 與assert() 函數的行為一致。
替代方法
如果希望定義自訂調試宏,建議避免使用以下劃線開頭的名稱。此命名約定由編譯器和執行時間環境保留。
以上是_DEBUG 與 NDEBUG:我應該使用哪個預處理器定義進行偵錯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!