#if 0 /#if 1用法介紹(遮蔽程式碼塊)
當遮蔽掉大塊程式碼時,使用"#if 0"比使用"/**/"要好,因為用"/**/"做大段的註釋要防止被註釋掉的程式碼中有巢狀的"/**/",這會導致註釋掉的程式碼區域不是你想要的範圍,當被註釋掉的程式碼很大時容易出現這種情況,特別是過一段時間後又修改該處程式碼時更是如此。
一、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。
二、 巢狀情況
1、情況1
#if 常量a
...程式段1...
#else
#if 常量b
...程式段2...
#else
...程式段3...
#endif
#endif
這裡表示,如果常量a為真(非0,隨便什麼數字,只要不是0),就執行程式段1。當常量a為0,常量b為真時,執行程式段2;
當常量a為0,常量b為0時,執行程式段3;
---------------------
作者:望那伊人
來源:CSDN
原文:https://blog.csdn.net/u012611644/article/details/79349367
版權宣告:本文為博主原創文章,轉載請附上博文連結!