Модуль WebAssembly не инициализируется с помощью JavaScript, созданного EmscriptenHtml

Программисты Html
Ответить
Anonymous
 Модуль WebAssembly не инициализируется с помощью JavaScript, созданного Emscripten

Сообщение Anonymous »

Я новичок в WebAssembly. Можете ли вы помочь решить следующую проблему? Я пытался получить решения от второго пилота GitHub, но безуспешно.
Я пытаюсь создать минимальный пример использования WebAssembly с Emscripten. У меня есть простая функция C, которая возвращает фиксированное значение, и я пытаюсь вызвать эту функцию из JavaScript в файле HTML. Однако обратный вызов onRuntimeInitialized никогда не вызывается, и модуль WebAssembly, похоже, не инициализируется должным образом.
C-код (

Код: Выделить всё

minimal.c
):

Код: Выделить всё

#include 

uint32_t get_fixed_value() {
return 42;
}
Я скомпилировал код C в WebAssembly с помощью следующей команды emcc. У меня есть минимальный.js и минимальный.wasm.

Код: Выделить всё

emcc minimal.c -o minimal.js -s EXPORTED_FUNCTIONS='["_get_fixed_value"]' -s EXPORTED_RUNTIME_METHODS='["cwrap"]' -s MODULARIZE
HTML-файл (

Код: Выделить всё

minimal.html
):

Код: Выделить всё





Minimal WebAssembly Example

var Module = {
onRuntimeInitialized: function() {
console.log("WebAssembly module initialized.");
// Define the getFixedValue function
window.getFixedValue = function() {
let getFixedValue = Module.cwrap('get_fixed_value', 'number', []);
return getFixedValue();
};
// Enable the button once the module is ready
document.getElementById('getValueButton').disabled = false;
}
};
console.log("Module object created.");




Minimal WebAssembly Example
Get Fixed Value



function getValue() {
if (typeof getFixedValue !== 'undefined') {
let result = getFixedValue();
document.getElementById('result').textContent = "Fixed Value: " + result;
} else {
alert("WebAssembly module is still loading. Please try again in a moment.");
}
}



Я обслуживаю файлы с помощью локального веб-сервера (http.server Python).
Вопросы
Почему не вызывается обратный вызов onRuntimeInitialized? Я никогда не вижу «Создан объект модуля». в консоли браузера. Та же проблема наблюдается в Firefox и Chrome.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»