(1)預處理指令必須和c#**在不同的行
(2)與c#語句不同,預處理指令不需要以分號結尾
(3)包含預處理指令的每一行必須以#字元開始,在#字元前可以有空格,在#字元和指令之間可以有空格
(4)允許行尾注釋,但是在預處理指令所在的行不允許分隔符注釋(/**/)
編譯符號是只有倆種可能狀態的識別符號,要麼被定義,要麼未被定義。編譯符號有如下特性:
(1)它可以是除了true或false以外的任何識別符號,包括c#關鍵字,以及在c#**中宣告的識別符號,這倆者都是可以的
(2)它沒有值,與c++不同,它不表示字串
(3)#define指令宣告乙個編譯符號
(4)#undef指令取消定義乙個編譯符號
(5)#define和#undef指令只能用在原始檔的第一行,也就是任何c#**之前使用,在c#**開始後,#define和#undef指令就不能再使用
#warning message
#error message
message是字串,但是它與普通的字串不同,它們不需要被引號包圍,當編譯器遇到診斷指令時,它會輸出相關資訊,診斷指令的訊息會和任何編譯器產生的警告和錯誤訊息列在一起
行號指令的作用:
(1)改變由編譯器警告和錯誤訊息報告的出現行數
(2)改變被編譯原始檔的檔名
(3)對互動式偵錯程式隱藏一些行
區域指令允許我們標註和有選擇性地命名一段**,#region指令的特性如下
(1)被放置在希望標註的**之上
(2)用指令後的可選字串文字作為其名字
(3)之後的**中必須由#endregion指令終止
#pragma warning指令允許我們關閉及重新開啟警告訊息。
#pragma warning disable 618, 414 //關閉618、414這倆個警告訊息
#pragma warning restore 618 //開啟618這個警告訊息
#pragma warning disable //所有警告訊息在這段**中處於關閉狀態
#pragma warning restore //所有警告訊息在這段**中處於開啟狀態
預處理指令
預處理指令是我們寫在程式 中的給預處理器 preprocessor 的 命令,而不是程式本身的語句。預處理器在我們編譯乙個c 程式時由編譯器自動執行,它負責控制對程式 的第一次驗證和消化。所有這些指令必須寫在單獨的一行中,它們不需要加結尾的分號 在這個教程的開頭我們已經提到了一種預處理指令 defi...
預處理指令
1.人們常常稱機器語言為目標 object code 2.預處理命令 preprocessor directives 三種預處理包括 巨集定義 檔案包含 條件編譯。在對源程式編譯之前,會對程式中的所有預處理指令進行處理。預處理就是在進行編譯的第一遍詞法掃瞄和語法分析之前所作的工作。說白了,就是對原始...
預處理指令
普通 define 巨集名 字串 define my int int define max 10000 帶引數 define 巨集名 形參 字串 define add x,y x y 在大規模的開發過程中,特別是跨平台和系統的軟體裡,條件編譯很重要。include using namespace s...