Я попытался загрузить программу веб-сборки, используя pywasm (интерпретатор веб-сборки, полностью написанный на python: https://github.com/mohanson/pywasm), используя следующий код
import pywasm
vm = pywasm.load('out.wasm')
r = vm.exec('fib', [10])
print(r)
, где out.wasm был создан с использованиемemscripten в следующем C-коде, запустив emcc out.c в следующем out.c-коде
int fib(int n) {
if (n <= 1) {
return n;
}
return fib(n - 1) + fib(n - 2);
}
, который сгенерировал файлы js и wasm. Загрузка файла wasm с помощью pywasm с помощью приведенного выше кода выдает ошибку
global import env.emscripten_resize_heap not found
. При проверке я обнаружил, что функция, которую пытался загрузить файл wasm, на самом деле была в файле js, сгенерированном emcc, поэтому я подумал о создании толькоавтономный файл wasm, который я сгенерировал с помощью следующей команды
emcc out.c -o out.wasm
, которая выдала один out.wasm. Я снова попытался загрузить этот автономный файл wasm, но на этот раз он показал другую ошибку
global import wasi_unstable.args_sizes_get not found
Это говорит о том, что файл wasm хочет импортировать модуль wasi_unstable, который я нашел и нашел доступным здесь https://www.npmjs.com/package/wasi_unstableЯ установил его с помощью команды npm install, но ошибка не исчезла. Есть ли способ преобразовать код ac в автономный файл wasm с помощью emscripten, а затем загрузить его с pywasm без каких-либо ошибок.