¿Python es un lenguaje interpretado o un lenguaje compilado?
¿Qué es la compilación?
1. Generar archivos de destino.
2. El archivo de destino es para un sistema de CPU específico. El archivo de destino generado para ARM no se puede utilizar para CPU MIPS o CPU x86.
Esto significa que cuando se genera el archivo objeto, el código se ha traducido a la CPU de destino, por lo que si el programa necesita ejecutarse en una CPU diferente, el código debe volverse a traducir.
Este proceso de traducción se llama compilación.
¿Qué es una explicación?
Para varios lenguajes no compilados (como Python/Java), puede que no haya algún tipo de error de traducción, pero puede haber algún tipo de compilación en archivos intermedios.
Si hay un error de traducción, entonces lo que traducen suele ser código intermedio "independiente de la plataforma", que generalmente no está dirigido a una plataforma de CPU específica. Se traducen a instrucciones de la CPU de destino en tiempo de ejecución, por lo que se pueden ejecutar en CPU ARM, MIPS o x86 sin volver a traducir el código fuente.
Dado que estos códigos intermedios no pueden ejecutarse directamente en la CPU, se requiere algún tipo de intermediario (llamado máquina virtual) para convertir el código en instrucciones ejecutables por la CPU durante la ejecución.