Можно ли импортировать файл .wasm из AssemblyScript?
Могу ли я импортировать файлы .wasm из моего кода AssemblyScript? Я знаю, что могу использовать загрузчик AssemblyScript для загрузки файлов .wasm из TypeScript, но я получаю ошибки, если пытаюсь создать свой пример AssemblyScript, если следую инструкциям на https://www.assemblyscript.org/loader.html
Короче говоря, у меня есть библиотека Rust, которую я скомпилировал для WASM. Я хотел бы использовать этот код в моем примере AssemblyScript. Возможно это или нет?
1 ответ
Насколько мне известно, в настоящее время используется инструмент для статического связывания двух двоичных файлов wasm с разных языков.
Это сложно по нескольким причинам: модули AS не разработаны с учетом перемещения (то есть вы не можете ссылаться на импорт косвенно), а другая заключается в том, что в настоящее время без распределения, предоставляемого Wasm, каждый двоичный файл обычно упаковывает свой собственный распределитель внутри. Это означает, что без координации два распределителя не знают о состоянии доступной памяти и могут перезаписывать друг друга.
Похоже, что ваш вариант использования находится в браузере, но если вы этого не сделаете, у wasmtime теперь есть динамическое связывание, которое может быть полезно для выполнения того, что вы хотите. См. Здесь пример, все будет простым, у которого нет проблемы с распределителем, упомянутой выше.