zoukankan      html  css  js  c++  java
  • WebAssembly Note(Compiling With C Lang)

    编译C语言

    emcc hello.c -o hello.html

    http代理

    emrun --no_browser --port 8080 .

    编译成JS可调用方放
    emcc -o ./wasm/api.html api.c -O3 -s WASM=1 -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ccall']"

    -O3表示代码优化级别,会压缩代码
    wasm/api.html输出为html,也可以只生成为js
    WASM=1指定我们想要的wasm输出形式,如果我们不指定这个选项,Emscripten默认将只会生成asm.js
    Js可调用例子,js中调用_getNum()即可

    #include <stdio.h>
    #include <stdlib.h>
    #include <emscripten/emscripten.h>
    #define random(x)(rand()%x)
    
    int main(int argc, char ** argv){
    	printf("WebAssembly Launch");
    	return 0;
    }
    
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    int EMSCRIPTEN_KEEPALIVE getNum(int argc, char ** argv){
    	int randNum = random(100);
    	printf("%d/n",randNum);
    	return randNum;
    }
    
    #ifdef __cplusplus
    }
    #endi
    
  • 相关阅读:
    the Agiles Scrum Meeting 8
    the Agiles Scrum Meeting 7
    the Agiles Scrum Meeting 6
    项目使用说明——英文版
    第十次例会
    第九次例会
    第八次例会
    第六次例会
    第七次例会
    第五次例会
  • 原文地址:https://www.cnblogs.com/97jay/p/12510997.html
Copyright © 2011-2022 走看看