JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了“断言失败:您需要等待运行时准备好”在JavaScript中调用C函数时出错大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试一个简单的例子,用 JavaScript调用编译为.wasm的C函数.

这是counter.c文件:

#include <emscripten.h>

int counter = 100;

EMSCRIPTEN_KEEPALIVE
int count() {  
    counter += 1;
    return counter;
}

我使用emcc counter.c -s WASM = 1 -o counter.js编译它.

我的main.js JavaScript文件:

const count = Module.cwrap('count ','number');
console.log(count());

我的index.html文件只加载正文中的两个.js文件,没有别的:

<script type="text/javascript" src="counter.js"></script>
<script type="text/javascript" src="main.js"></script>

我得到的错误是:

uncaught abort(“断言失败:你需要等待运行时准备就绪(例如等待调用main())”)

当我尝试在main.js中调用count()时我怎么能等待运行时准备好?

解决方法

我找到了一个快速解决方案我需要将main.js修改为: @H_68_4@module['onRuntimeInitialized'] = onRuntimeInitialized; const count = Module.cwrap('count ','number'); function onRuntimeInitialized() { console.log(count()); }

这会改变由emscripten生成的counter.js脚本中定义的Module对象.

大佬总结

以上是大佬教程为你收集整理的“断言失败:您需要等待运行时准备好”在JavaScript中调用C函数时出错全部内容,希望文章能够帮你解决“断言失败:您需要等待运行时准备好”在JavaScript中调用C函数时出错所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。