(Ci supponendo che il vostro parlare AMD64 (== == EM64T x86_64) e x86 a 64 bit e 32 bit rispettivamente)
È possibile eseguire codice AMD64 su processori x86 solo con l'emulazione (ad esempio qemu) o alcuni tipi di virtualizzazione (credo che VMWare potrebbe supportare il sistema operativo guest a 64 bit su sistema operativo host a 32 bit su 64 CPU con capacità bit). Tuttavia, ciò significa eseguire un sistema operativo a 64 bit come guest su emulazione o virtualizzazione, credo.
Come si sta sviluppando l'applicazione, non dovrebbe essere troppo difficile sviluppare versioni del codice sia a 32 che a 64 bit.
Per Mac è possibile spedire un singolo binario che contiene entrambi i tipi di codice oppure Mac OSX può eseguire il file binario a 64 bit su un kernel a 32 bit (tuttavia solo su un processore in grado x86_64). Per Windows e Linux, dovrai spedire programmi di installazione separati o spedire un programma di installazione intelligente, che seleziona i file binari corretti al momento dell'installazione. Per Linux esiste un progetto per aggiungere la possibilità di eseguire il codice AMD64 sul kernel x86 sul processore AMD64 - http://linuxpae64.sourceforge.net/ - ma non sembra che sia molto lontano nel kernel della linea principale.
C'è un motivo particolare per cui si desidera produrre solo file binari a 64 bit?
Se è necessario accedere alla memoria aggiuntiva, il sistema operativo a 32 bit non sarà in grado di fornire comunque memoria aggiuntiva.
Se è necessario evitare testare 2 versioni diverse, produrre solo la versione a 32 bit, funzionerà su Windows AMD64 e sulla maggior parte delle distribuzioni Linux AMD64 senza problemi.
fonte
2010-02-25 10:01:27
Dalla domanda sembra che tu stia cercando di utilizzare l'applicazione in questione. Vorrei riformulare il titolo e la domanda: "Sto sviluppando un'applicazione Windows Posso spedire solo binari a 64 bit e farli funzionare su Windows a 32 e 64 bit?" –
@Douglas, spero che la mia modifica vada bene. – Jay
Temporaneamente chiuso e riaperto per impedire la migrazione a SU. –