software:webassembly
文書の過去の版を表示しています。
WebAssembly
Emscripten (emsdk)
Emscripten (emsdk) を使うと、通常の C++ Toolchain の代わりとしてビルドができるようになります。
- command
- emcc
- em++
- emar
emar を使用して lib の生成も可能。
Emscripten は JavaScript による独自のランタイムを使用し、ブラウザ上での実行を可能にしています。 実行コードの事前コンパイルと最適化のために WebAssembly を使用します。
#include <stdio.h> #if __EMSCRIPTEN__ # include <emscripten.h> #endif int main() { #if __EMSCRIPTEN__ EM_ASM( FS.mkdir( '/cur' ); FS.mount( NODEFS, { root: '.' }, '/cur' ); ); #endif FILE* fp= fopen( "/cur/test.txt", "r" ); if( fp ){ char buffer[128]; fread( buffer, 10, 1, fp ); buffer[10]= '\0'; printf( "[%s]\n", buffer ); fclose( fp ); } return 0; }
$ emcc main.cpp -O3 -c $ emcc main.o -lnodefs.js $ node a.out.js
software/webassembly.1635509455.txt.gz · 最終更新: 2021/10/29 21:10 by oga