¿En qué se diferencian los programas Java y C++ en la compilación y ejecución?
Pero hay muchas diferencias entre ellos, y posiblemente las mayores diferencias radican en la compilación y el tiempo de ejecución.
El código escrito en un lenguaje de alto nivel eventualmente se convierte en código de máquina que las computadoras pueden entender.
Assembly es el lenguaje más cercano al código máquina. C++ y Java se compilan y ejecutan directa o indirectamente.
C++ utiliza un compilador (comando CC de Unix, comando CL de Windows) para compilar directamente el código fuente en código de máquina que la computadora pueda reconocer, como exe, dll y otros archivos.
Los archivos fuente de Java necesitan usar el comando javac para compilar el código fuente en un archivo de clase. Sin embargo, este archivo de clase no puede ser reconocido directamente por la computadora, pero puede ser reconocido por la JVM (máquina virtual Java). ).
Cuando ejecutas un programa Java, inicias una máquina virtual que carga el archivo de clase antes de que puedas ejecutar el programa.
De esta manera, el mismo código se compilará en el mismo archivo de clase, es decir, código de bytes, y el mismo código de bytes se puede ejecutar en diferentes plataformas, por lo que las características multiplataforma de Java se reflejan. C++ no puede hacer esto.