环境 git bash
- 安装emscripten, 安装相关py,node.js 依赖;配置环境变量; 2.配置库的位置:
export CPLUS_INCLUDE_PATH="/C/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0:/h/Download/emsdk/upstream/emscripten/system:/F/sdkCode/pkg/nodejieba/deps/:/F/sdkCode/pkg/nodejieba/lib/:/F/sdkCode/pkg/nodejieba/node_modules/node-addon-api/:/c/Users/Administrator/AppData/Local/node-gyp/Cache/14.17.5/include/node"
export LD_LIBRARY_PATH="$CPLUS_INCLUDE_PATH"
- 编译命令
emcc.py -s FORCE_FILESYSTEM=1 --bind ./lib/jieba.wasm.cpp -o ./disk/mm.js
4.c++导出函数
#include <emscripten.h>
EMSCRIPTEN_KEEPALIVE
- c++ 字符串变量:
function initString(mystring) {
if (typeof mystring != "string") {
throw new TypeError("string")
}
var strptr = Module._malloc(mystring.length);
Module.writeAsciiToMemory(mystring, strptr);
return strptr;
}
- 文件系统:
FS.mkdir("/dict")
// FS.mount(MEMFS, {
// root: "/",
// fs: FS
// }, "/dw");
Module.FS_createDataFile("/aa", null, "123", true, true, true);
Module["FS_createPath"]("/", "ztt", true, true);
- 输出
Module['stdout'] = function (...args) {
var str = String.fromCharCode(args)
document.body.innerText += str
}
生命不止 折腾不息