wasm编译cpp时js中函数undefined问题

先上解决方法(部分情况适用):
在cpp文件中你想要引入js的函数外层套一个 extern “C” {}
例如你的源代码是这样:

int f(){
	printf("Hello WebAssembly");
}

你只需要这样做:

extern "C" {
	int f(){
		printf("Hello WebAssembly");
	}
}

这样就可以在js中正常调用啦!

这个问题我们可以在编译出的js代码中找到,对于我,这是我cpp中的函数名:
在这里插入图片描述
这是js文件中的函数名:
在这里插入图片描述
其实是c++编译时对函数的名称进行 mangle(类似于重命名),导致编译出来的js中的函数与原cpp中函数名不匹配的原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值