Outils pour utilisateurs

Outils du site


prog:emscripten

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:emscripten [2021/08/03 07:37] – [Compilation] : ajout du tableau des résultats rootprog:emscripten [2022/07/18 12:49] (Version actuelle) – [Compilation] : ajout de "Pour le debug" root
Ligne 1: Ligne 1:
-=====Téléchargement et installation=====+=====Téléchargement et installation et mise à jour=====
 <code bash> <code bash>
 git clone --depth 1 https://github.com/emscripten-core/emsdk.git git clone --depth 1 https://github.com/emscripten-core/emsdk.git
Ligne 19: Ligne 19:
 [[https://pascalpares.appspot.ovh/webassembly-for-javascript-developers/|An Introduction to WebAssembly for JavaScript Developers]] {{ :prog:emscripten:an_introduction_to_webassembly_for_javascript_developers_2021-07-24_11_04_06_.html |Archive du 21/04/2021 le 24/07/2021}} [[https://pascalpares.appspot.ovh/webassembly-for-javascript-developers/|An Introduction to WebAssembly for JavaScript Developers]] {{ :prog:emscripten:an_introduction_to_webassembly_for_javascript_developers_2021-07-24_11_04_06_.html |Archive du 21/04/2021 le 24/07/2021}}
  
 +[[https://developers.google.com/web/updates/2018/03/emscripting-a-c-library|Emscripting a C library to Wasm]] {{ :prog:emscripten:emscripting_a_c_library_to_wasm_web_google_developers_8_4_2021_10_04_21_am_.html |Archive du 31/07/2020 le 04/08/2021}}
 ====Compilation==== ====Compilation====
  
Ligne 38: Ligne 39:
   * ''-Oz'' : le bytecode est optimisé pour réduire la taille.   * ''-Oz'' : le bytecode est optimisé pour réduire la taille.
   * ''-s MALLOC=%%'emmalloc'%%'' : utilise une version de malloc réduite en fonctionnalité mais spécifique à emscripten.   * ''-s MALLOC=%%'emmalloc'%%'' : utilise une version de malloc réduite en fonctionnalité mais spécifique à emscripten.
 +
 +Pour le debug:
 +  * ''-O0'' : aucune optimisation.
 +  * ''-g'' : toutes les informations de débogage,
 +  * ''-s ASSERTIONS=2'' : toutes les assertions à l'exécution,
 +  * ''-s DEMANGLE_SUPPORT=1'' : affichage des symboles en cas d'affichage de la trace par le compilateur,
 +  * ''%%--%%emit-symbol-map'' : génère un fichier ''.map'',
 +  * ''-gsource-map'' : génère un ''.map'' compatible LLVM pour déboguer avec Chrome,
 +  * ''%%--source-map-base http://localhost:4200/assets/%%'' : codage en dur du chemin vers le fichier ''.wasm'' uploadé et non du chemin dans l'ordinateur.
  
 Pour mémo, le tableau des résultats. La comparaison des options ''-Ox'' se fait par rapport à ''-O0''. Puis, les options suivantes s'accumulent avec l'option -Oz. Dans mon cas, ''-O2'' réduit mieux la taille que ''-Oz''. A confirmer sur de plus gros projets. Pour mémo, le tableau des résultats. La comparaison des options ''-Ox'' se fait par rapport à ''-O0''. Puis, les options suivantes s'accumulent avec l'option -Oz. Dans mon cas, ''-O2'' réduit mieux la taille que ''-Oz''. A confirmer sur de plus gros projets.
prog/emscripten.1627969028.txt.gz · Dernière modification : 2021/08/03 07:37 de root