三月 15

有的時候我們在寫程式時,可能在Debug,會需要使用某一段程式。

而這段程式在Release時,我們又不需要了。

比較傳統的作法就是使用人工去把該程式給註解或反註解來完成。

現在我們可以使用前置處理器指示詞來達成,

「前置處理器指示詞」用比較白話的方式來講,就是程式中的程式。

編譯器編譯程式前,編譯器會先處理前置處理器指示詞,再來決定真正要編譯的程式。

以下面這個C#的例子來說,編譯器處於Debug的模式時,

編譯器只會顯示警告訊息,系統仍會編譯完成。

但是如果把編譯器切換成Release的模式時,編譯器就會顯示錯誤,而且編譯會失敗。

#if DEBUG
#warning "正式上線時,請把此行mark掉"
#else
#error "正式上線時,請把此行mark掉"
#endif

當然要在前置處理器指示詞區間中放置某段實際的程式也是可以的

#if (DEBUG)
Console.WriteLine("DEBUG");
#else
Console.WriteLine("Non Debug");
#endif

參考資料:MSDN—C# 前置處理器指示詞

One Response to “.NET 編譯前的編譯程式(前置處理器指示詞),#warning、#error、#if”

  1. Technical News » NET compiler pre-compiled programs (preprocessor directive) # warning, # error, # if Says:

    […] the computer tea bags Blog […]

留下評論