Não está claro para mim como o compilador saberá automaticamente compilar para 64 bits quando necessário. Como ele sabe quando pode direcionar com segurança 32 bits?
Estou principalmente curioso sobre como o compilador sabe qual arquitetura segmentar ao compilar. Ele analisa o código e toma uma decisão com base no que encontra?
Respostas:
A Microsoft tem uma entrada de blog O que AnyCPU realmente significa no .NET 4.5 e no Visual Studio 11 :
fonte
Aqui está uma resposta simples:
Nota: AnyCPU-32bitPreferred está disponível apenas no .Net versão 4.5 e superior.
fonte
Project -> Properties -> Build tab -> Platform target
... mas observe que eleAnyCPU-32bitPreferred
está disponível apenas no .Net versão 4.5 e superior. É por isso que o padrão éAnyCPU
.O motivo é: caso você não queira usar mais memória com aplicativos de 64 bits. O que significa que, se seu aplicativo for AnyCPU , você deseja executar como 32 bits.
Para adicionar mais, a configuração no Visual Studio tem como alvo o CLR específico:
Por favor, consulte o artigo Aplicativos de 64 bits ( MSDN ).
fonte