2012-01-30 7 views
8

Il tipo di pacchetto (x86 o x64) dipende dal tipo di applicazione o dal tipo di sistema operativo su cui è installato?Quale pacchetto ridistribuibile VC++ da scegliere (x86 o x64)?

Vale a dire, se mi sviluppare un'applicazione a 32 bit devo

  • distribuire il pacchetto solo x86 o
  • distribuire entrambi i pacchetti e installare x86 su Windows a 32 bit e x64 a 64 bit finestre?

La risposta a questa domanda 32-bit VC++ redistributable on 64 bit OS? suggerisce che è solo il pacchetto x86, quindi sarebbe dipendente dalla mia domanda, ma non dà alcuna spiegazione/link. Anche i siti di download di MS non sono specifici su questo.

+3

I pacchetti ridistribuibili non sono installati per supportare il sistema operativo, sono installati per supportare l'applicazione. –

+0

... e deve essere scelto in modo che corrisponda al compilatore. –

+0

@ Ben: Naturalmente, per Visual Studio 2008 distribuirò i ridistribuibili 2008 AndréCaron: hai una fonte per questo? –

risposta

6

Quando si compila, tutto l'uso della libreria standard crea riferimenti che devono essere risolti al momento del collegamento. Il linker entra nella libreria di importazione per le corrispondenti DLL di runtime, che devono corrispondere allo completamente al al momento del caricamento. Ciò significa che corrisponde alla versione del compilatore, al service pack e al bitness.

Ricordare inoltre che un processo a 32 bit non può caricare DLL a 64 bit. Poiché la redistore a 64 bit contiene solo DLL a 64 bit, non è di aiuto quando si carica un eseguibile a 32 bit.

0

dipende dall'applicazione se è necessario ottimizzare il potenziale del sistema operativo a 64 bit, è possibile distribuire entrambi per la gestione dell'elaborazione a 64 e 32 bit. Tuttavia, se l'applicazione non supera i limiti di 32 bit, è possibile distribuire l'applicazione solo su x86, tuttavia dovrebbe funzionare anche su sistemi operativi a 64 bit tramite la virtualizzazione a 32 bit.

+1

Penso che sia sbagliato: per massimizzare il potenziale su un sistema operativo a 64 bit ho bisogno di compilarlo come un'applicazione a 64 bit. La domanda è: se decido di compilare un'applicazione a 32 bit, avrò bisogno della ridistribuibile x64 su un sistema operativo a 64 bit? –

+0

non proprio. è possibile utilizzare ridistribuibili a 32 bit poiché la distribuzione delle applicazioni mirate è a 32 bit, saranno necessarie solo istruzioni di macchina progettate per processori a 32 bit. –