_DEBUG 與NDEBUG:為程式碼的調試部分定義的預處理器
在編寫包含僅在調試期間應處於活動狀態的部分的程式碼時,它擁有一種有條件地包含或排除這些部分的方法變得很重要。在 C/C 中,這是使用 #ifdef 和 #ifndef 等預處理器指令來實現的。
建議除錯部分使用哪一種預處理器定義?
有兩種常用的為此目的預處理器定義:
這些應該如何定義用過嗎?
#ifdef _DEBUG // Debugging code here #endif
#ifndef NDEBUG // Debugging code here #endif
優缺點
替代方法
如果您想避免使用編譯器或標準庫提供的預處理器定義,您可以創建您的自己的調試宏,具有唯一的名稱,只要它不以
結論
是否使用_DEBUG或NDEBUG取決於您專案的特定需求以及所使用的調試工具。但是,通常建議使用 NDEBUG 以實現可移植性以及與標準斷言的一致性。
以上是_DEBUG 與 NDEBUG:哪種預處理器定義最適合調試程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!