一、Emscripten编译优化分为两个步骤
每个源文件编译成目标文件(.bc文件),通过LLVM优化
目标文件编译成js文件
二、Js使用库的两种方式
emcc project.bc libstuff.bc -o final.js
emcc project.bc libstuff.bc -o allproject.bc
emcc allproject.bc -o final.js
一、Emscripten实现把C/C++文件转成wasm,wast(wasm的可读形式),llvm字节码(bc格式),ll格式(llvm字节码的可读形式)的步骤。
extern "C" {int add(int x, int y) {int a=333;return x + y+ a;}int min(int x, int y) {return x - y;}}
1.转成wasm命令
emcc extern.cc -o extern.js -s EXPORTED_FUNCTIONS='["_add","_min"]' -O3 -s wasm=1
2.转成wast可读文件
wasm2wat extern.wasm -o extern.wast
3.转成llvm字节码 bc格式(中间格式)
emcc extern.cc -o extern.bc -s EXPORTED_FUNCTIONS='["_add","_min"]' -O3
4.使用llvm-dis把llvm字节码转成可读格式
llvm-dis extern.bc
二、执行方式
1.使用服务器执行
https://blog.csdn.net/TurkeyCock/article/details/83317935
2.使用node执行
emcc extern.cc -o extern.js -s EXPORTED_FUNCTIONS='["_add","_min"]'
var em_module = require('./extern.js');console.log("add:"+em_module._add(4,5));console.log("add:"+em_module._min(5,4));
Node node-test.js