webassembly编译c++简单的自定义代码

emcc命令

emcc D:\cppcode\AutoFollow\hello1.cpp -s WASM=1 -o D:\cppcode\AutoFollow\hello\hello2.js

c++代码

#include <stdio.h>
#include <emscripten/emscripten.h>
extern "C"
{
  int EMSCRIPTEN_KEEPALIVE aa(int x)
  {
    if (x <= 0)
      return 0;
    if (x <= 2)
      return 1;
    return x - 2;
  }
  int EMSCRIPTEN_KEEPALIVE  my_function(int a, int b)
  {
    return a + b;
  }
}

前端代码(vue框架)

loadWasm2() {
      this.fetchAndInstantiate(this.$JBolt.API.cems_bigdata.server.downloadFile, this.importObject).then(function(instance) {
        console.warn(instance.exports.aa(100));
      });
      
    },
    fetchAndInstantiate(url, importObject) {
      return fetch(url, {
        method: "post",
        body: JSON.stringify({ }),
        headers: {
         	//根据项目来
        }
      }).then(response =>
        response.arrayBuffer()
      ).then(bytes =>
        WebAssembly.instantiate(bytes, importObject)
      ).then(results =>
        results.instance
      );
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值