當注釋掉大塊代碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的注釋要防止被注釋掉的代碼中有嵌套的"/**/",這會導致注釋掉的代碼區域不是你想要的范圍,當被注釋掉的代碼很大時容易出現這種情況,特別是過一段時間后又修改該處代碼時更是如此。
在這里順便對條件編譯(#ifdef, #else, #endif, #if等)進行說明。以下分3種情況:
1. 情況1:
#ifdef _XXXX
...程序段1...
#else
...程序段2...
#endif
這表明如果標識符_XXXX已被#define命令定義過則對程序段1進行編譯;否則對程序段2進行編譯。
2:情況2:
#ifndef _XXXX
...程序段1...
#else
...程序段2...
#endif
這里使用了#ifndef,表示的是if not def。當然是和#ifdef相反的狀況(如果沒有定義了標識符_XXXX,那么執行程序段1,否則執行程序段2)。
3:情況3:
#if 常量
...程序段1...
#else
...程序段2...
#endif
這里表示,如果常量為真(非0,隨便什么數字,只要不是0),就執行程序段1,否則執行程序段2。