Browse Source

update readme

caner 2 years ago
parent
commit
b38f627ace
1 changed files with 14 additions and 8 deletions
  1. 14 8
      README.md

+ 14 - 8
README.md

@@ -1,10 +1,16 @@
-# c2wasm
+# cpp 转 wasm demo
 
-测试 ems工具
-
-https://zhuanlan.zhihu.com/p/355426533
-
-## 编译成js
+## 一.安装emsdk 工具
+```
+1. git clone https://github.com/emscripten-core/emsdk.git
+2. cd esmdk
+3. git pull
+4. ./emsdk install latest
+5. ./emsdk activate latest
+6. source ./emsdk_env.sh
+```
+## 二.编译
+### 编译成js
 ```
 1. emcc hello.cpp -s WASM=1 -O3 -o out/hello-emcc.js
 
@@ -15,14 +21,14 @@ hello.cpp 包含 C/C++ 代码的源文件;
 -o out/hello-emcc.js 指定生成包含 wasm 模块所需的全部胶接代码的 JS 文件;
 ```
 
-## 编译成wasm
+### 编译成wasm
 ```
 1. emcc hello.cpp -s WASM=1 -O3 -o out/hello-emcc-need-loadjs.wasm
 
 在 out 目录你会发现只生成了 wasm 文件,并没有 js,经过查阅文档发现,上面这个命令隐含了 -s STANDALONE_WASM 的配置 ,实际上触发的是 WebAssembly Standalone build,需要自己写 loader 加载和执行(为了方便会主要采用第一种方式生成,稍后会写一个简单的 loadjs 栗子验证这中编译方式)
 ```
 
-## 编译整套html
+### 编译整套html
 ```
 1. emcc hello.cpp -s WASM=1 -O3 -o out/hello-emcc.html
 会生成一个 html 文件和对应的 js 文件以及 wasm 文件,html 需要在 web 服务器中打开,这里具体怎么搭建 web 服务以及如何校验,在这里就不做过多解释,我们主要还是讲一些基础操作,如图,就是通过生成 html 得到的结果。