談談C 中的預處理指令

2022-03-07 14:13:56 字數 1275 閱讀 2370

簡而言之,c#中的預處理器指令並非蝦公尺高階的玩意兒,它並非可執行**的一部分,只是對編譯過程有所影響而已,它的作用並不如其在c和c++中那麼重要,c#中的其它一些特性分擔了許多c++中指令的功能,如定製特性。

c#中僅保留一些簡單常用的預處理器指令。

#define和 #undef

#define用來定義乙個符號, 當然這個符號並不存在真正意義上的所謂的值,僅僅是表示乙個符號的存在而已。相反,#undef用來刪除該符號。他們必須定義在原始檔的開始部分(using之前),一般情況下他們與#if結合起來使用

例如:debug

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

namespace

class

program}}

f5一下,該字元將被列印出來。 

如果我們在#define debug之後加上一行#undef debug,處在#if #endif之間的**會變成灰色。重新執行該程式,字元將不會被列印。 

#warning 和 #error

顧名思義,這兩個指令用來產生警告和錯誤。如果我們定義了debug這個符號。

void

main(

string

args)

編譯的時候將產生一條警告資訊,如果把#warning換成#error,編譯將無法通過,除非你用#undef刪除該符號。

#line

該指令用來改變警告或錯誤資訊中顯示的檔名和行號。

static

void

main(

string

args)

這種情況下警告就不會產生了。當然你也可以用#pragma warning restore來恢復該警告。 

至於#if/#endif以及#region/#endregion就不說了。

C 中的預處理指令

c 中的預處理指令 作為預處理中的一對 region name endregion可能是大家使用得最多的,我也常用它來進行 分塊,在乙個比較長的cs檔案中,這麼做確實是一件可以讓你使 更清晰的好辦法,vs也自動用這個來包含自動生成的 它這麼做既可以使開發人員更清晰的檢視自己的 也開了乙個好頭,使更多...

C 預處理指令

1.define 通常和 if一起使用 使用 define可以定義乙個符號,並通過將該符號用作表示式傳遞給 if 指令,使該表示式的計算結果為true 比如 preprocessor if.cs define debug define vc v7 using system public class ...

C預處理指令

一 預處理的由來 在c 的歷史發展中,有很多的語言特徵 特別是語言的晦澀之處 來自於c語言,預處理就是其中的乙個。c 從c語言那裡把c語言預處理器繼承過來 c語言預處理器,被bjarne博士簡稱為cpp,不知道是不是c program preprocessor的簡稱 二 常見的預處理功能 預處理器的...