WebAssemby es algo nuevo y mejor, que convierte el código c / c ++ en formato binario.
- WebAssembly tiene como objetivo ejecutar a velocidad nativa aprovechando el hardware común. Está diseñado para integrarse con la plataforma web.
Aquí está el enlace donde se puede ver una de las aplicaciones, qué tan rápido convierte el programa factorial simple en código de máquina.
Comprueba esta bestia, enlace
Puede usar este programa de ejemplo para ejecutar en ese sitio para ver el ensamblaje.
# include<stdio.h>
int square(int num) {
return num * num;
}
int main() {
int res = square(4);
printf("%d\n",res);
return 0;
}
- Defina un formato binario portátil, eficiente en tamaño y tiempo de carga para que sirva como un objetivo de compilación que pueda compilarse para ejecutarse a una velocidad nativa aprovechando las capacidades comunes de hardware disponibles en una amplia gama de plataformas, incluyendo dispositivos móviles y IOT.
Información básica sobre el host y el destino, cómo se traduce el lenguaje de programación al 10101010.
host=>pc :(windows, iOS, Linux, zOS, Solaris..etc)
target=>CPUhardware: (Intel x86, ARM, PowerPC, etc)
-
GCC convierte el código C / C ++ en código de ensamblaje. Una herramienta llamada "ensamblador" convierte el código de ensamblaje en código de máquina y una herramienta llamada "vinculador" conecta varios archivos de código de máquina en un solo archivo ejecutable (.EXE bajo Windows). La mayoría de estos compiladores le permiten escribir el código del ensamblador resultante en un archivo para que pueda ver el código del ensamblador o modificarlo.
-
El ensamblador y el enlazador forman parte de la cadena de herramientas, lo que significa que normalmente se entregan junto con el compilador.
-
Sin embargo, algunos compiladores (como Microsoft) convierten directamente el código C / C ++ en lenguaje de máquina, por lo que ya no se necesita ningún ensamblador. Muchos de estos compiladores no pueden crear código de ensamblador, por lo que no puede escribir el código de ensamblador en un archivo.
Por cierto: incluso hay compiladores (no para C / C ++, sino para otros lenguajes de programación) que crean directamente un archivo .EXE, por lo que no se requiere un enlazador.
WebAssembly: enlace