Red de conocimiento informático - Consumibles informáticos - Procesamiento de lenguaje de alto nivel después del compilador

Procesamiento de lenguaje de alto nivel después del compilador

Supongamos que su programa tiene dos códigos fuente, uno escrito en lenguaje C y otro escrito en Java, y ahora desea publicarlo en estas plataformas:

1, Windows 7/xp. /vista...

2. Linux RedHat/Fedora/Unbutu...

3. Symbian S60/S50 (teléfono móvil)

Si la fuente El programa está en lenguaje C, necesita encontrar las siguientes herramientas:

1. VC60/VS2008, que es responsable de compilar y generar el archivo .exe para VISTA/XP/WIN7

2 , G++, responsable de compilar y generar programas ejecutables para Linux

3 El compilador de C++ que usa Symbian, solo no lo menciones

Si el programa fuente está en JAVA. idioma, entonces, ¿qué se debe hacer? Simplemente use javac para compilar y el paquete jar, y luego:

1. Asegúrese de que el WIN7/XP/VISTA de destino tenga una máquina virtual Java instalada

2. Asegúrese de que el LINUX de destino tenga una máquina virtual Java

3. Asegúrese de que el sistema Symbian del teléfono móvil de destino haya instalado una máquina virtual Java que admita la misma versión.

¿Entiendes? El compilador de lenguaje C se utiliza para traducir directamente el programa fuente al chip especificado (X86 o ALPHA PPC, RISC) y al sistema operativo especificado (WINDOWS, DOS, LINUX, SYMBIAN) de la computadora de destino (16 bits, 32 bits, 64 bits) en un solo paso Código objeto de programa ejecutable específico

El compilador JAVA traduce el programa en código intermedio y la máquina virtual interpreta el código intermedio en el código objeto de programa ejecutable final para el chip especificado y sistema operativo especificado

p>

Estrictamente hablando, C, C++ y JAVA son multiplataforma, pero C# definitivamente no lo es. Al menos nadie ha implementado C# en LINUX todavía.

La diferencia es que C y C++ son multiplataforma a través de diferentes compiladores en diferentes plataformas

JAVA es multiplataforma a través de diferentes máquinas virtuales en diferentes plataformas

¿Entiendes esto?