Applicazioni a 64 bit
Quando si compila un'applicazione, è possibile specificare che deve essere eseguita in un sistema operativo Windows a 64 bit come applicazione nativa o in WOW64. WOW64 è un ambiente di compatibilità che consente di eseguire un'applicazione a 32 bit in un sistema a 64 bit. WOW64 è incluso nel sistema.
Osservazioni
Tutte le applicazioni compilate con le versioni 1.0 o 1.1 di .NET Framework vengono considerate applicazioni a 32 bit e vengono sempre eseguite in WOW64 nel Common Language Runtime (CLR) a 32 bit in un sistema operativo a 64 bit. Le applicazioni a 32 bit compilate in .NET Framework versione 4 vengono eseguite in WOW64 in sistemi a 64 bit.
In Visual Studio viene installata la versione a 32 bit di CLR in un computer x86 ed entrambe le versioni a 32 bit e a 64 bit di CLR in un computer Windows a 64 bit. Poiché Visual Studio 2010 è un'applicazione a 32 bit, quando viene installato in un sistema a 64 bit, viene eseguito in WOW64.
![]() |
---|
Data la progettazione dell'emulazione x86 e del sottosistema WOW64 per la famiglia di processori Itanium, le applicazioni sono limitate all'esecuzione in un solo processore.Questi fattori riducono le prestazioni e la scalabilità delle applicazioni .NET Framework a 32 bit eseguite nei sistemi Itanium.Si consiglia di utilizzare le applicazioni che utilizzano .NET Framework 1.1 per applicazioni client interattive e non per applicazioni che richiedono scalabilità o prestazioni elevate, ad esempio applicazioni ASP.NET a carichi elevati.Se possibile, utilizzare .NET Framework versione 4 che offre supporto a 64 bit nativo per i sistemi Itanium, garantendo così maggiore scalabilità e migliori prestazioni. |
Quando si esegue un'applicazione gestita a 64 bit in un sistema operativo Windows a 64 bit, è possibile creare un oggetto di non più di 2 GB.
Molti assembly vengono eseguiti in modo identico nel common language runtime a 32 bit sia nel common language runtime a 64 bit. È tuttavia possibile che alcuni programmi si comportino diversamente, a seconda di CLR, per uno o più dei motivi seguenti:
Strutture contenenti membri che cambiano dimensione in base alla piattaforma, ad esempio i tipi puntatore.
Operazioni aritmetiche che includono dimensioni costanti.
Chiamata piattaforma non corretta o dichiarazioni COM che utilizzano Int32 anzichè IntPtr per gli handle.
Casting di IntPtr su Int32.
Per ulteriori informazioni su come eseguire il porting di un'applicazione a 32 bit per l'esecuzione in CLR a 64 bit, vedere Migrazione di codice gestito a 32 bit a 64 bit sul sito Web di MSDN.
Informazioni generali sulla programmazione a 64 bit
Per informazioni generali sulla programmazione a 64 bit, vedere i documenti seguenti:
Per ulteriori informazioni sulla versione a 64 bit di CLR in un computer Windows a 64 bit, vedere Centro per sviluppatori .NET Framework sul sito Web di MSDN.
Nella documentazione di Windows SDK, vedere la guida per programmatori per Windows a 64 bit.
Per informazioni su come scaricare una versione a 64 bit di CLR, vedere Download di .NET Framework sul sito Web di MSDN.
Per informazioni sul supporto di Visual Studio per la creazione di applicazioni a 64 bit, vedere Supporto a 64 bit per l'ambiente di sviluppo di Visual Studio.
Supporto del compilatore per la creazione di applicazioni a 64 bit
Per impostazione predefinita, quando si utilizza .NET Framework 2.0 per compilare un'applicazione in un computer a 32 o 64 bit, l'applicazione verrà eseguita in un computer a 64 bit come applicazione nativa, ovvero non in WOW64. Nella tabella riportata di seguito vengono elencati i documenti relativi all'utilizzo dei compilatori di Visual Studio per creare applicazioni a 64 bit che verranno eseguite come applicazioni native, in WOW64 o in entrambi i modi.
Compilatore |
Opzione del compilatore |
---|---|
Visual Basic |
|
Visual C# |
|
Visual C++ |
È possibile creare applicazioni Microsoft intermediate language (MSIL) indipendenti dalla piattaforma utilizzando /clr:safe. Per ulteriori informazioni, vedere /clr (Common Language Runtime Compilation). In Visual C++ è incluso un compilatore separato per ogni sistema operativo a 64 bit. Per ulteriori informazioni sull'utilizzo di Visual C++ per creare applicazioni native eseguibili in un sistema operativo Windows a 64 bit, vedere Programmazione a 64 bit con Visual C++. |
JScript |
Determinazione dello stato di un file exe o dll
Per determinare se un file exe o dll deve essere eseguito solo su una piattaforma specifica o in WOW64, utilizzare corflags.exe al prompt dei comandi. È anche possibile utilizzare corflags.exe per modificare lo stato di piattaforma di un file exe o dll. Per ulteriori informazioni, vedere CorFlags.exe (strumento di conversione CorFlags). Per l'intestazione CLR (o l'intestazione di runtime COM+) di un assembly Visual Studio il numero di versione di runtime principale è impostato su 2, mentre il numero di versione di runtime secondario è impostato su 5 (0 negli assembly di Visual Studio .NET 2003). Le applicazioni per le quali il numero di versione di runtime secondario è impostato su 0 sono considerate applicazioni legacy e vengono sempre eseguite in WOW64 in computer a 64 bit.
Per eseguire query a livello di codice su un file exe o dll per accertarsi se deve essere eseguito solo su una piattaforma specifica o in WOW64, utilizzare il metodo GetPEKind.
Vedere anche
Altre risorse
Windows-Based Applications and Components
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Agosto 2010 |
Aggiornati i collegamenti e i numeri di versione. |
Miglioramento delle informazioni. |