gpt4 book ai didi

emscripten - 断言失败 : native function `int_sqrt` called before runtime initialization error while calling c function in . js 文件 (emscripten)

转载 作者:行者123 更新时间:2023-12-04 12:37:06 27 4
gpt4 key购买 nike

我无法在另一个 JavaScript 文件中调用 C 函数,它给出了错误“在运行时初始化之前调用”please refer to this link
我按照给定链接中的描述在 emscripten 中编译了 C 代码,并在我的 test.js 文件中使用了生成的 asm.js 文件。
用于生成 asm 的命令:-

emcc test/hello.cpp -o hello.html -s EXPORTED_FUNCTIONS="['_int_sqrt']" -s EXPORTED_RUNTIME_METHODS="["ccall", "cwrap"]"
test.js 文件中的代码:
var Module = require('./asm.js');
var test = Module.cwrap('int_sqrt', 'number', ['number']);
console.log(test(25));
当我跑 node test它给出了错误
abort(Assertion failed: native function `int_sqrt` called before runtime initialization)

最佳答案

你应该等待运行时初始化。
尝试这个:

var Module = require("./lib.js");
var result = Module.onRuntimeInitialized = () => {
Module.ccall('myFunction', // name of C function
null, // return type
null, // argument types
null // arguments
);
}

关于emscripten - 断言失败 : native function `int_sqrt` called before runtime initialization error while calling c function in . js 文件 (emscripten),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63467764/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com