/platform (Visual Basic)
指定哪種平台版本的 Common Language Runtime (CLR) 可以執行輸出檔。
/platform:{ x86 | x64 | Itanium | anycpu }
引數
詞彙 |
定義 |
anycpu |
將組件 (Assembly) 編譯為可以在所有的平台上執行。 如果沒有指定 /platform 選項,這就是預設行為。 |
x86 |
將組件編譯為可以由 32 位元的 x86 相容 CLR 執行。 |
x64 |
將組件編譯為可以在支援 AMD64 或 EM64T 指令集的電腦上,由 64 位元的 CLR 執行。 |
Itanium |
將組件編譯為可以在 Itanium 處理器之電腦上,由 64 位元的 CLR 執行。 |
備註
使用 /platform 選項,指定輸出檔所針對的處理器類型。
一般而言,不論平台為何,以 Visual Basic 所撰寫之 .NET Framework 組件的運作情形都相同。 但是在某些情形下,組件在不同的平台上行為會有所不同。 常見的情形如下:
包含成員的結構在不同平台上會改變大小,如指標型別 (Pointer Type)。
包含常數大小的指標算術。
使用 Integer 而非使用 IntPtr 控制代碼的不正確平台叫用 (Invoke) 或 COM 宣告。
將 IntPtr 轉型 (Casting) 為 Integer。
以不存在於任何平台上的元件使用平台叫用或 COM interop。
如果您已假設程式碼將在何種架構上執行,/platform 選項可以減少一些問題。 尤其是:
如果您決定以 64 位元平台為目標,而應用程式要在 32 位元的電腦上執行,則錯誤訊息就會較早出現,且比不使用這個參數時所發生的錯誤還更明確。
如果您在參數上設定 32 位元選項,但之後應用程式是在 64 位元的電腦上執行時,則會在 WOW 子系統中執行,而不會以原生方式執行。
在 64 位元的 Windows 作業系統上:
以 /platform:x86 編譯的組件將在以 WOW64 執行的 32 位元 CLR 上執行。
以 /platform:anycpu 編譯的可執行檔將在 64 位元的 CLR 上執行。
以 /platform:anycpu 編譯的 DLL 將和載入它的處理序在同一個 CLR 上執行。
如需開發可以在 Windows 64 位元作業系統上執行之應用程式的詳細資源,請參閱 64 位元應用程式。
若要在 Visual Studio 整合式開發環境中設定 /nowarn |
|
範例
下列範例顯示如何使用 /platform,指定應用程式只能在 Itanium 電腦的 64 位元作業系統上,由 64 位元 CLR 執行。
vbc /platform:Itanium myItanium.vb