Domanda

Come detto il titolo, ho il programma C rispettato e creato un binario in macchina a 64 bit. Questo lavoro binario con 32 bit?

È stato utile?

Soluzione

I binari a 64 bit non possono funzionare su un sistema operativo a 32 bit. Se file rapporti ELF 64-bit, hai un binario a 64 bit.

Per costruire binari a 32 bit su un Linux a 64 bit, è necessario passare -m32 a GCC. È inoltre necessario installare librerie a 32 bit (sudo apt-get install libc6-dev-i386).

Altri suggerimenti

La macchina di compilazione non ha importanza. Ciò che conta è: il codice generato 32 bit (risposta: sì) o 64 bit (risposta: no).

Will it work on a 32-bit machine? One with a CPU which doesn't support 64-bit mode? No.

Will it work on a 64-bit VM on a 32-bit native OS? Yes, in my experience.

A surprising result is that 64-bit VMs CAN be run under a 32-bit host OS, provided the CPU is capable and you don't want to allocate too much ram (>2G or thereabouts) to the guest.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top