C 中的預編譯指令介紹

2021-06-17 16:30:21 字數 972 閱讀 5193

用法:

#define告訴編譯器,我定義了乙個debug的乙個符號,他類似乙個變數,但是它沒有具體的值,可以將它看為乙個符號而已。#undef就是刪除這個符號的定義。如果符號debug沒定義過,則#undef不起作用,否則#define不起作用。二者都必須放在源**之前。 看**的順序: #define debug #undef debug 這樣的話,debug是沒有定義的,如果二者換個順序,編譯器就認為debug被定義了

這個告訴編譯器進行編譯**的流程控制。考慮下面**: #if debug

#elif release

#else

#endif 以上**就是說如果定義了debug則輸出debug,定義了release,則輸出realse,否則輸出other。如果定義了debug和realse會怎麼樣呢?各位可以自己試一下。

參考下面的**

#if debug 該debug如果選中當前狀態為debug,則這個預設為#define

#elif release 如果選中release狀態的話,這個確沒有預設,不知道我試驗的對不對

#else

#endif

這個兩個用來組成**塊

這個指令可以改變編譯器在警告和錯誤資訊中顯示的檔名和行號資訊,用#line default把行號恢復為預設的行號。 下面的示例說明如何報告與行號關聯的兩個警告。#line 200 指令迫使行號為 200(儘管預設值為 #7)。另一行 (#9) 作為預設 #line 指令 的結果跟在通常序列後。 // preprocessor_line.cs public class myclass2

} 示例 2 下面的示例說明偵錯程式如何忽略**中的隱藏行。執行此示例時,它將顯示三行文字。但是,當設定如示例所示的斷點並按 f10 鍵逐句通過**時,您將看到偵錯程式忽略了隱藏行。另請注意,即使在隱藏行上設定斷點,偵錯程式仍會忽略它。 // preprocessor_linehidden.cs using system; class myclass

}

C 中的預編譯指令介紹

1 define和 undef 用法 define debug undef debug define告訴編譯器,我定義了乙個debug的乙個符號,他類似乙個變數,但是它沒有具體的值,可以將它看為乙個符號而已。undef就是刪除這個符號的定義。如果符號debug沒定義過,則 undef不起作用,否則 ...

C 中的預編譯指令介紹

1 define和 undef 用法 define debug undef debug define告訴編譯器,我定義了乙個debug的乙個符號,他類似乙個變數,但是它沒有具體的值,可以將它看為乙個符號而已。undef就是刪除這個符號的定義。如果符號debug沒定義過,則 undef不起作用,否則 ...

C 預編譯指令

下面對c 中的預編譯指令進行介紹 1.define和 undef 用法 define debug undef debug define告訴編譯器,我定義了乙個debug的乙個符號,他類似乙個變數,但是它沒有具體的值,可以將它看為乙個符號而已。undef就是刪除這個符號的定義。如果符號debug沒定義...