-platform (Visual Basic)
Especifica qual versão de plataforma do common language runtime (CLR) pode executar o arquivo de saída.
Sintaxe
-platform:{ x86 | x64 | Itanium | arm | anycpu | anycpu32bitpreferred }
Argumentos
Termo | Definição |
---|---|
x86 |
Compila o assembly para ser executado pelo CLR compatível com x86, de 32 bits. |
x64 |
Compila o assembly para ser executado pelo CLR de 64 bits em um computador que oferece suporte ao conjunto de instruções de AMD64 ou EM64T. |
Itanium |
Compila o assembly para ser executado pelo CLR de 64 bits em um computador com um processador Itanium. |
arm |
Compila o assembly para ser executado em um computador com um processador ARM (Advanced RISC Machine). |
anycpu |
Compila o assembly para ser executado em qualquer plataforma. O aplicativo será executado como um aplicativo de 32 bits em versões de 32 bits do Windows e como um aplicativo de 64 bits em versões de 64 bits do Windows. Este sinalizador é o valor padrão. |
anycpu32bitpreferred |
Compila o assembly para ser executado em qualquer plataforma. O aplicativo será executado como um aplicativo de 32 bits em versões de 32 bits e 64 bits do Windows. Esse sinalizador é válido somente para executáveis (.EXE) e requer .NET Framework 4.5. |
Comentários
Use a opção -platform
para especificar o tipo de processador direcionada pelo arquivo de saída.
Em geral, os assemblies do .NET Framework gravados no Visual Basic serão executados da mesma maneira, independentemente da plataforma. No entanto, existem alguns casos em que se comportam de formas diferentes em plataformas distintas. Esses casos comuns são:
Estruturas que contêm membros que alteram o tamanho de acordo com a plataforma, como qualquer tipo de ponteiro.
Aritmética de ponteiro que inclui tamanhos constantes.
As declarações COM ou de invocação de plataforma incorreta que usam
Integer
para identificadores em vez de IntPtr.Convertendo IntPtr para
Integer
.Usando a invocação de plataforma ou a interoperabilidade COM com os componentes que não existem em todas as plataformas.
A opção -platform reduzirá alguns problemas se você souber que fez suposições sobre a arquitetura na qual seu código será executado. Especificamente:
Se decidir atingir uma plataforma de 64 bits e o aplicativo for executado em uma máquina de 32 bits, a mensagem de erro vem muito mais cedo e mais direcionada ao problema do que o erro que ocorre sem usar essa comutador.
Se você definir o sinalizador
x86
na opção e, em seguida, o aplicativo for executado em uma máquina de 64 bits, o aplicativo será executado no subsistema WOW em vez de ser executado nativamente.
Em um sistema operacional do Windows de 64 bits:
Assemblies compilados com
-platform:x86
serão executados no CLR de 32 bits em execução no WOW64.Executáveis compilados com o
-platform:anycpu
serão executados no CLR de 64 bits.Uma DLL compilada com o
-platform:anycpu
será executada no mesmo CLR que o processo no qual foi carregado.Executáveis compilados com
-platform:anycpu32bitpreferred
serão executados no CLR de 32 bits.
Para obter mais informações sobre como desenvolver um aplicativo para ser executado em uma versão de 64 bits do Windows, confira Aplicativos de 64 bits.
Para definir -platform no IDE do Visual Studio
No Gerenciador de Soluções, escolha o projeto, abra o menu Projeto e, em seguida, clique em Propriedades.
Na guia Compilar, marque ou desmarque a caixa de seleção Preferir 32 bits ou na lista CPU de Destino, escolha um valor.
Para obter mais informações, confira Página Compilar, Designer de Projeto (Visual Basic).
Exemplo
O exemplo a seguir mostra como usar a opção do compilador -platform
.
vbc -platform:x86 myFile.vb