C 預處理器指令的用法例項分析

2022-09-26 08:03:13 字數 1318 閱讀 1453

c#預處理器指令是在編譯時呼叫的。預處理器指令(preprocessor directive)告訴c#編譯器要編譯哪些**,並指出如何處理特定的錯誤和警告。c#預處理器指令還可以告訴c#編輯器有關**組織的資訊。

1. 定義符號和取消符號定義的預處理指令#define 和 #undef

預處理指令都以#號開頭並位於行首前面可以出現空格符。

複製** **如下:

#define debug

#define issay

上面的語句定義了連個個預編譯的符號,他的作用域是他所處整個檔案,定義符號的語句必須出現在所有**之前, 否則編譯的時候會出現乙個異常: 不能在檔案的第乙個標記之後,定義或取消定義預處理器符號 。我們也可以使用#undef來取消乙個符號的定義,先來看個例子。

複製** **如下:

#define debug

#undef debug

#define issay  

using system;  

namespace justdoit  

}  

}  

//輸出:hello

從上面的**我們可以看到第一樣等一了符號deebu,緊接著第二行取消了這個符號的定義,也就是相當於沒有定義一樣,所以程式執行的時候不會執行console.write("debug.")這個語句。第三行定義了issay符號,所以程式輸出了「hello」,如果我們把他注釋了或者是刪除了,那麼程式會輸出「you can say nothing「。我們可以初步看到通過定義預編譯的符號,可以控制編譯器選擇性地編譯**。上面的**中還有#if和#endif這樣的符號,這些是條件編譯指令。

2. 條件編譯指令

條件編譯指令有4個,除了我們從第乙個示例看到的#if、#else、#endif之外,還有乙個#elif。我們對這些指令應該有是曾相識的感覺,他們跟我們平時編寫**的時候試用的條件語句是一樣的,條件語句是用來控制程式流的,而這些條件編譯指令是用來控制編譯器選擇性地編譯**的。

一條#if語句可以有0條或多條#elif語句,也可以有0條或一條#else 語程式設計客棧句,但必須包括一條#endif語句必須有,否則會出現語法錯誤。

3. #region和#endregion

這兩個符號平時我們肯定用的很多了,就是把一些相關的**摺疊到一起,這樣對我們在乙個檔案中編寫較長的**非常有用,我們可以把一組相關的**用#region和#endregion組織在一起並且可以在#region後面加上說明的程式設計客棧文字,當這組**被摺疊起來的時候,我們可以看到#region後面的說明文字。

本文標題: c#預處理器指令的用法例項分析

本文位址: /ruanjian/csharp/115952.html

C 預處理器指令的用法

c 預處理器指令是在編譯時呼叫的。預處理器指令 preprocessor directive 告訴c 編譯器要編譯哪些 並指出如何處理特定的錯誤和警告。c 預處理器指令還可以告訴c 編輯器有關 組織的資訊。1.定義符號和取消符號定義的預處理指令 define 和 undef 預處理指令都以 號開頭並...

C 預處理器指令的用法

c 預處理器指令是在編譯時呼叫的。預處理器指令 preprocessor directive 告訴c 編譯器要編譯哪些 並指出如何處理特定的錯誤和警告。c 預處理器指令還可以告訴c 編輯器有關 組織的資訊。1 定義符號和取消符號定義的預處理指令 define 和 undef 預處理指令都以 號開頭並...

C 預處理器指令

c 預處理器指令是在編譯時呼叫的。預處理器指令 preprocessor directive 告訴c 編譯器要編譯哪些 並指出如何處理特定的錯誤和警告。c 預處理器指令還可以告訴c 編輯器有關 組織的資訊。1.定義符號和取消符號定義的預處理指令 define 和 undef 預處理指令都以 號開頭並...