#if使您可以開始條件指令,測試乙個或多個符號以檢視它們是否計算為true。如果它們的計算結果確實為true,則編譯器將計算位於#if與最近的 #endif 指令之間的所有**。例如,
1 #if debug這段**會像往常那樣編譯,但讀取debug配置檔案包含在#if子句內。這行**只有在前面的#define命令定義了符號debug後才執行。當編譯器遇到#if語句後,將先檢查相關的符號是否存在,如果符號存在,就只編譯#if塊中的**。否則,編譯器會忽略所有的**,直到遇到匹配的#endif指令為止。一般是在除錯時定義符號debug,把不同的除錯相關**放在#if子句中。在完成了除錯後,就把#define語句注釋掉,所有的除錯**會奇蹟般地消失,可執行檔案也會變小,終端使用者不會被這些除錯資訊弄糊塗(顯然,要做更多的測試,確保**在沒有定義debug的情況下也能工作)。這項技術在c和c++程式設計中非常普通,稱為條件編譯(conditional compilation)。2 string file = root + "/conf_debug.xml";
3 #else
4 string file = root + "/conf.xml";
5 #endif
1 // preprocessor_if.cs輸出結果:2 #define debug
3 #define vc_v7
4 using system;
5 public class myclass
6 19 }
debug and vc_v7 are defined
C if, else和 endif預處理指令
if使您可以開始條件指令,測試乙個或多個符號以檢視它們是否計算為true。如果它們的計算結果確實為true,則編譯器將計算位於 if與最近的 endif 指令之間的所有 例如,1 ifdebug 2string file root conf debug.xml 3 else 4string file...
C if, else和 endif預處理指令
if 使您可以開始條件指令,測試乙個或多個符號以檢視它們是否計算為 true 如果它們的計算結果確實為 true 則編譯器將計算位於 if與最近的 endif 指令之間的所有 例如,1 if debug 2string file root conf debug.xml 3 else 4string ...
ML Data Processing資料預處理
資料歸一化 引數 arrays list np.array matrices padas dataframes 需被分割的樣本集 options test size 在0.0和1.0之間,表示要從樣本集拆分到測試集的比例,預設為0.25 train size 在0.0和1.0之間,表示要從樣本集拆分...