Emscripten 6.0, compilateur C/C++ vers WebAssembly disponible

La version de la boĂźte Ă  outils Emscripten 6.0 a Ă©tĂ© publiĂ©e, vous permettant de compiler du code en C/C++ et dans d'autres langages pour lesquels des interfaces basĂ©es sur LLVM sont disponibles dans WebAssembly de code intermĂ©diaire universel de bas niveau. Le rĂ©sultat rĂ©sultant peut ĂȘtre utilisĂ© pour l'intĂ©gration avec des projets JavaScript, exĂ©cutĂ©s dans un navigateur Web, utilisĂ©s dans Node.js ou pour crĂ©er des applications multiplateformes autonomes lancĂ©es Ă  l'aide du runtime wasm. Le code du projet est distribuĂ© sous licence MIT. Le compilateur utilise les dĂ©veloppements du projet LLVM, et la bibliothĂšque Binaryen est utilisĂ©e pour gĂ©nĂ©rer WebAssembly et optimisation.

L'objectif principal d'Emscripten est la création d'un outil qui permet d'exécuter du code sur le Web, quel que soit le langage de programmation dans lequel ce code a été initialement écrit. Les applications compilées peuvent utiliser des appels aux bibliothÚques C et C++ standard (libc, libcxx), aux extensions C++, au multithreading basé sur pthreads, aux API POSIX et à de nombreuses bibliothÚques multimédias. Les API pour l'intégration avec l'API Web et le code JavaScript sont fournies séparément.

Emscripten prend en charge la diffusion de la sortie de la bibliothÚque SDL2 via Canvas, et implémente également la prise en charge d'OpenGL et EGL via l'API WebGL, qui vous permet de convertir des applications graphiques et des jeux en WebAssembly (par exemple, il existe un portage de la boßte à outils Qt, le les moteurs de jeu Unreal Engine et Unit sont pris en charge, ainsi que les processus du moteur de simulation physique Bullet).

Outre la compilation de code C/C++, des projets sont développés séparément pour exécuter des interpréteurs dans les navigateurs et machines virtuelles Il est compatible avec Lua, C#, Python, Ruby et Perl. Il est également possible d'utiliser des interfaces LLVM autres que Clang, comme celles pour Swift, Rust, D et Fortran.

La version 6.0 est attribuĂ©e en raison de modifications qui entraĂźnent une rupture de compatibilitĂ©. Les principales modifications d'Emscripten 6.0 sont les suivantes :

  • Les versions minimales des moteurs de navigateur pouvant exĂ©cuter le code gĂ©nĂ©rĂ© ont Ă©tĂ© augmentĂ©es : Chrome 74 → 85, Firefox 68 → 79 et Safari 12.2 → 14.1. Cette modification permet d’utiliser par dĂ©faut les extensions WebAssembly pour l’importation et l’exportation de variables globales mutables, ainsi que pour l’augmentation de la profondeur de bits des nombres tout en prĂ©servant le signe et la valeur.
  • Lors de l'exĂ©cution de tĂ©lĂ©chargements en continu Ă  l'aide de l'opĂ©ration Fetch, la taille du bloc de tĂ©lĂ©chargement est dĂ©sormais limitĂ©e Ă  8 Mo afin d'empĂȘcher le tĂ©lĂ©chargement en mĂ©moire de l'intĂ©gralitĂ© du contenu des fichiers volumineux.
  • Versions mises Ă  jour de musl libc 1.2.6, libpng 1.6.58 et google-closure-compiler 20260429.0.0.
  • L'option de compilation « -m64 » a Ă©tĂ© implĂ©mentĂ©e, ce qui est similaire aux options suivantes :
    "-sMEMORY64" et "-target=wasm64".
  • Le champ PThread.runningWorkers a Ă©tĂ© supprimĂ© de l'objet PThread.
  • La fonction pause() renvoie dĂ©sormais 0 au lieu de EINTR.
  • la plate-forme Windows Au lieu d'un fichier bat (emcc.bat), un fichier exe (emcc.exe) est suggĂ©rĂ© pour exĂ©cuter Emscripten.

Source: opennet.ru

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster