加压emsdk-portable.tar.gz
./emsdk install latest
./emsdk activate latest
source emsdk_env.sh
参考
中文
asm.js 和 Emscripten 入门教程
http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html
英文
https://kripken.github.io/mloc_emscripten_talk/cppcon.html#/
faq
http://kripken.github.io/emscripten-site/docs/getting_started/FAQ.html
#includeextern "C" { double SquareVal(double val) { return val * val; } } int main() { EM_ASM({ SquareVal = Module.cwrap('SquareVal', 'number', ['number']); var x = 12.5; alert('Computing: ' + x + ' * ' + x + ' = ' + SquareVal(x)); }); }
emcc -s EXPORTED_FUNCTIONS="['_SquareVal', '_main']" -s EXTRA_EXPORTED_RUNTIME_METHODS="['cwrap']" example4.cc -o example4.html
生成example4.js 和example4.html
python -m SimpleHTTPServer 8080
#####################centos7下的安装
centos7.6的gcc是 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
新版本可能有问题,找个老版本安装一下
如果有的 下载错误,就去zips目录下,wget下载
编译clang出错有可能是内存不够,1G的vm肯定不行啊。
具体操作:
yum install cmake -y git clone https://github.com/juj/emsdk ./emsdk list --old ./emsdk install sdk-tag-1.36.2-64bit ./emsdk activate sdk-tag-1.36.2-64bit source ./emsdk_env.sh
[root@meituan7 emsdk]# gcc --version
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
[root@meituan7 emsdk]# emcc
WARNING:root:no input files
为安装成功
#############
Invalid verification text
https://vfsync.org/vm.html?login=1
frenchleaf
haoning
###########emscripten的教程 ######
helloworld:
http://www.ruanyifeng.com/blog/2017/09/asmjs_emscripten.html
和c互相调用的交互
https://github.com/3dgen/cppwasm-book
遗留问题:
1.sdl怎么用? https://lyceum-allotments.github.io/2016/06/emscripten-and-sdl-2-tutorial-part-1/
2.必须是干净的c的代码么,如果是系统依赖的怎么办
3.mame模拟器是否可以?