有的時候我們在寫程式時,可能在Debug,會需要使用某一段程式。
而這段程式在Release時,我們又不需要了。
比較傳統的作法就是使用人工去把該程式給註解或反註解來完成。
現在我們可以使用前置處理器指示詞來達成,
「前置處理器指示詞」用比較白話的方式來講,就是程式中的程式。
:for
編譯器編譯程式前,編譯器會先處理前置處理器指示詞,再來決定真正要編譯的程式。
以下面這個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 thought on “.NET 編譯前的編譯程式(前置處理器指示詞),#warning、#error、#if”