Si escribo un programa en C y lo compilo en un .exe
archivo, el .exe
archivo contiene instrucciones de máquina sin procesar para la CPU. (Yo creo que).
Si es así, ¿cómo es posible que ejecute el archivo compilado en cualquier computadora que ejecute una versión moderna de Windows? Cada familia de CPU tiene un conjunto de instrucciones diferente. Entonces, ¿cómo es que cualquier computadora que ejecuta el sistema operativo apropiado puede entender las instrucciones en mi .exe
archivo, independientemente de su CPU física?
Además, a menudo en sitios web en la página de "descarga" de alguna aplicación, tiene una descarga para Windows, Linux y Mac (a menudo dos descargas para cada sistema operativo, para computadoras de 86 y 64 bits). ¿Por qué no hay muchas más descargas, para cada familia de CPU?