Se scrivo un programma C e lo compilo in un file .exe
, il file .exe
contiene le istruzioni raw della macchina per la CPU. (Penso).
In caso affermativo, come è possibile che eseguo il file compilato su qualsiasi computer che esegue una versione moderna di Windows? Ogni famiglia di CPU ha un set di istruzioni diverso. Quindi, come mai un computer che esegue il sistema operativo appropriato può comprendere le istruzioni nel mio file .exe
, indipendentemente dalla CPU fisica?
Inoltre, spesso nei siti web nella pagina "download" di alcune applicazioni, si dispone di un download per Windows, per Linux e per Mac (spesso due download per ciascun sistema operativo, per computer a 86 e 64 bit). Perché non ci sono molti più download, per ogni famiglia di CPU?