Estou trabalhando com .NET Framework 3.5 e preciso do membro Environment.Is64BitProcess. E agora?

Em algumas raras ocasiões, na programação em .NET, você pode precisar saber se o processo no qual o seu assembly está rodando é x86 ou x64. Pense, por exemplo, no carregamento em memória de uma DLL específica para x86 ou x64 em tempo de execução. O .NET Framework 4 disponibilizou o membro Environment.Is64BitProcess, que é um valor booleano que indica exatamente isso.

No entanto, quando trabalhando com o .NET Framework 3.5 ou inferior, existe uma maneira muito simples de se fazer exatamente a mesma detecção: pelo tamanho do tipo IntPtr (Ponteiro Inteiro).

A detecção, na prática, é bastante fácil:

if (IntPtr.Size == 8) /* 8 bytes = 64 bits */ else /* 4 bytes = 32 bits */

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s