Pergunta

Será que a aplicação em .NET necessidade de ser construída em 64 bits para tirar o máximo proveito de uma máquina com um 64 bit OS nele, ou vai aproveitá-lo apenas como uma compilação de 32 bits. Basicamente, temos um problema com uma exceção de memória e foi sugerido para executar o aplicativo console em uma caixa de 64 bits que "pode" resolver a questão. A questão é que podemos apenas spin-se uma caixa de 64 e lançar o aplicativo atual sobre ele ou eu preciso para reconstruir o aplicativo de uma forma de 64 bits.

Foi útil?

Solução

Se seu aplicativo está configurado para compilação para a plataforma "Qualquer CPU", então ele vai correr de forma adequada em qualquer um.

Apenas certifique-se que ele não usar qualquer material específico 32/64 bit, ou você vai correr em problemas.

MSDN docs aqui .

Para alguns discussão sobre desvantagens, consulte aqui

Outras dicas

Se ele é construído para qualquer plataforma (o padrão), ele será executado em 64 bits em sistemas operacionais de 64 bits.

Dito isto, ainda há problemas potenciais para assistir. Se a interface com o código nativo (via p / invocação, C ++ / CLI, ou COM), em seguida, terá de porta que o código de 64 bits. Se o pedido for controlado 100%, ele simplesmente funciona.

"Qualquer CPU" é seu amigo.

Como um aparte:

Nós tivemos um grande Trie estrutura particularmente que excedeu o espaço de memória 2GB de 32 bits do Windows. Porque a maioria da estrutura composta de referências a objetos, descobrimos que os requisitos de memória do aplicativo quase dobrou ao mudar para 64 bits, requerendo torno 4gb. Isso ocorre porque a memória para armazenar uma referência é 64bits de largura em vez de 32.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top