條件式編譯的常數
更新:2007 年 11 月
條件式編譯可讓您輕鬆地控制在編譯階段要將哪些程式碼納入程式中。
下表列出了可用於條件式編譯的預先定義常數。
常數 |
描述 |
---|---|
CONFIG |
字串,對應至 [組態管理員] 中 [使用中的方案組態] 方塊的目前設定。 |
DEBUG |
Boolean 值,可以在 [專案屬性] 對話方塊中設定。依預設,專案的 [偵錯] 組態可定義 DEBUG 方式。定義 DEBUG 後,Debug 類別方法 (Class Method) 會產生輸出到 [輸出] 視窗。如果沒有定義,Debug 類別方法就不會進行編譯,也不會產生 Debug 輸出。 |
TARGET |
字串,表示專案的輸出型別或命令列 /target 選項。TARGET 的可能值為:表示 Windows 應用程式的 "winexe"、表示主控台應用程式的 "exe"、表示類別庫的 "library",以及表示模組的 "module"。/target 選項可以在 Visual Studio 整合式開發環境中設定。如需詳細資訊,請參閱 /target。 |
TRACE |
Boolean 值,可以在 [專案屬性] 對話方塊中設定。依預設,專案的所有組態可定義 TRACE 方式。定義 TRACE 後,Trace 類別方法 (Class Method) 會產生輸出到 [輸出] 視窗。如果沒有定義,Trace 類別方法就不會進行編譯,也不會產生 Trace 輸出。 |
VBC_VER |
號碼,代表 Visual Basic 版本,其格式為 major.minor。Visual Basic 2005 的版本號碼是 8.0。 |
_MYTYPE |
表示所要建置之專案類型的字串。這可控制哪些 My 物件可用於程式碼中。如需詳細資訊,請參閱 My 如何相依於專案類型。 |
這些常數僅能用於條件式編譯,不能用於可執行的程式碼中。
範例
這個範例會使用 TARGET 條件式編譯常數,決定是否要編譯某些陳述式。
#If TARGET = "winexe" Then
' Insert code to be compiled for a Windows application.
#ElseIf TARGET = "exe" Then
' Insert code to be compiled for a console application.
#End If
需求
Visual Studio 整合式開發環境可定義 CONFIG、DEBUG、TRACE 和 _MYTYPE 條件式編譯常數。
Visual Basic 編譯器則可定義 TARGET 和 VBC_VER 條件式編譯常數。TARGET、VBC_VER 和 _MYTYPE 常數無法在 Visual Basic 2005 之前的編譯器版本中使用。