-platform (Visual Basic)

Určuje, která verze platformy modulu CLR (Common Language Runtime) může spustit výstupní soubor.

Syntaxe

-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }  

Argumenty

Pojem definice
x86 Zkompiluje sestavení tak, aby bylo spuštěno 32bitovým clr kompatibilním s x86.
x64 Zkompiluje sestavení tak, aby bylo spuštěno 64bitovým CLR na počítači, který podporuje instrukční sadu AMD64 nebo EM64T.
Itanium Zkompiluje sestavení tak, aby bylo spuštěno 64bitovým CLR na počítači s procesorem Itanium.
arm Zkompiluje sestavení tak, aby bylo spuštěno na počítači s procesorem ARM (Advanced RISC Machine).
anycpu Zkompiluje sestavení tak, aby bylo spuštěno na libovolné platformě. Aplikace se spustí jako 32bitová aplikace ve 32bitových verzích Windows a jako 64bitová aplikace v 64bitových verzích Windows. Tento příznak je výchozí hodnota.
anycpu32bitpreferred Zkompiluje sestavení tak, aby bylo spuštěno na libovolné platformě. Aplikace se spustí jako 32bitová aplikace v 32bitové i 64bitové verzi Windows. Tento příznak je platný pouze pro spustitelné soubory (.EXE) a vyžaduje rozhraní .NET Framework 4.5.

Poznámky

-platform Pomocí možnosti určete typ procesoru, na který cílí výstupní soubor.

Obecně platí, že sestavení rozhraní .NET Framework napsaná v jazyce Visual Basic budou spouštět stejné bez ohledu na platformu. Existují však některé případy, které se chovají odlišně na různých platformách. Mezi běžné případy patří:

  • Struktury, které obsahují členy, které mění velikost v závislosti na platformě, například jakýkoli typ ukazatele

  • Aritmetika ukazatele, která zahrnuje konstantní velikosti.

  • Nesprávná platforma vyvolá nebo deklarace modelu COM, které se používají Integer pro popisovače místo IntPtr.

  • Přetypování IntPtr na Integer.

  • Použití volání platformy nebo zprostředkovatele komunikace modelu COM s komponentami, které neexistují na všech platformách.

Možnost -platformu zmírní některé problémy, pokud víte, že jste provedli předpoklady o architektuře, na které bude váš kód běžet. Konkrétně:

  • Pokud se rozhodnete cílit na 64bitovou platformu a aplikace běží na 32bitovém počítači, chybová zpráva se zobrazí mnohem dříve a je cílenější na problém než chyba, ke které dochází bez použití tohoto přepínače.

  • Pokud nastavíte x86 příznak u možnosti a aplikace se následně spustí na 64bitovém počítači, aplikace se místo nativně spustí v subsystému WOW.

V 64bitovém operačním systému Windows:

  • Sestavení zkompilovaná pomocí -platform:x86 se spustí na 32bitovém modulu CLR spuštěném pod WOW64.

  • Spustitelné soubory zkompilované pomocí -platform:anycpu 64bitového modulu CLR se spustí.

  • Knihovna DLL zkompilovaná pomocí -platform:anycpu příkazu se spustí na stejném CLR jako proces, do kterého se načetl.

  • Spustitelné soubory kompilované pomocí -platform:anycpu32bitpreferred se spustí na 32bitovém modulu CLR.

Další informace o tom, jak vyvíjet aplikaci pro spuštění v 64bitové verzi Systému Windows, naleznete v tématu 64bitové aplikace.

Nastavení platformy v integrovaném vývojovém prostředí sady Visual Studio

  1. V Průzkumník řešení zvolte projekt, otevřete nabídku Projekt a klepněte na příkaz Vlastnosti.

  2. Na kartě Kompilace zaškrtněte políčko Preferovat 32bitovou verzi nebo v seznamu Cílový procesor zvolte hodnotu.

    Další informace naleznete v tématu Kompilovat stránku, Návrhář projektu (Visual Basic).

Příklad

Následující příklad ukazuje, jak použít možnost kompilátoru -platform .

vbc -platform:x86 myFile.vb  

Viz také