WebAssemby est quelque chose de plus récent et de plus grand, qui convertit le code c / c ++ au format binaire.
- WebAssembly vise à s'exécuter à la vitesse native en tirant parti du matériel commun. Il a été conçu pour s'intégrer à la plate-forme Web.
Voici le lien où l'une des applications que vous pouvez voir, à quelle vitesse il convertit le programme factoriel simple en code machine.
Vérifiez cette bête, https://godbolt.org/
Vous pouvez utiliser cet exemple de programme pour exécuter dans ce site pour voir l'assembly.
# include<stdio.h>
int square(int num) {
return num * num;
}
int main() {
int res = square(4);
printf("%d\n",res);
return 0;
}
- Définissez un format binaire portable, efficace en termes de taille et de temps de chargement pour servir de cible de compilation qui peut être compilé pour s'exécuter à la vitesse native en tirant parti des capacités matérielles communes disponibles sur une large gamme de plates-formes, notamment mobile et IoT.
Quelques informations de base sur l'hôte et la cible, comment le langage de programmation est traduit en 10101010.
host=>pc :(windows, iOS, Linux, zOS, Solaris..etc)
target=>CPUhardware: (Intel x86, ARM, PowerPC, etc)
GCC convertit le code C / C ++ en code assembleur. Un outil appelé "assembleur" convertit le code assembleur en code machine et un outil appelé "éditeur de liens" connecte plusieurs fichiers de code machine en un seul fichier exécutable (.EXE sous Windows). La plupart de ces compilateurs vous permettent d'écrire le code assembleur résultant dans un fichier afin que vous puissiez consulter le code assembleur ou le modifier.
L'assembleur et l'éditeur de liens font partie de la chaîne d'outils, ce qui signifie qu'ils sont généralement fournis avec le compilateur.
Certains compilateurs (comme Microsoft) convertissent cependant directement le code C / C ++ en langage machine, donc aucun assembleur n'est plus nécessaire. Beaucoup de ces compilateurs ne sont pas en mesure de créer du code assembleur, vous ne pouvez donc pas écrire le code assembleur dans un fichier.
Soit dit en passant: il existe même des compilateurs (pas pour C / C ++, mais pour d'autres langages de programmation) qui créent directement un fichier .EXE, donc aucun éditeur de liens n'est requis.
WebAssembly: https://github.com/WebAssembly/design