Инструмент для запуска WebAssembly - PullRequest
0 голосов
/ 19 февраля 2019

Wasm - видимо - везде.Я даже видел некоторые основанные на x86 виртуальные машины только для Wasm, и это очень интересно!К сожалению, он не работал на моем Mac - очень плохо.

Причина, по которой я это изучил, очень проста: я могу легко скомпилировать что-то - будь то C ++, Rust, Go или что-то еще - и получитьИз него был бинарный файл, содержащий инструкции для wasm32-unknown-unknown.Все идет нормально.Но как мне их запустить?

С Emscripten я могу заставить его генерировать мне обертку JS, которая очень хороша и безусловно полезна.Но что, если я просто хочу нацелиться на Wasm напрямую и добавить в него простой int main(void), который я хотел бы запустить?Похоже, что каждый файл Wasm почти нуждается в , чтобы иметь JS-оболочку для правильного выполнения.

Есть ли способ "просто запустить" файл Wasm?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Обязательно ознакомьтесь с LifeVM: https://github.com/perlin-network/life

Вы можете запустить программу wasm следующим образом:

./life -entry 'method' /path/to/your/wasm/program.wasm [param,...] 

Однако имейте в виду, что это только виртуальная машина, всеAPI "платформа / среда" (IO / Graphics / Networking / etc ..) должны быть разработаны или каким-либо образом предоставлены.Вот почему Wasm очень удобно использовать в контексте JS: для многих случаев есть веб-API.

Мой совет: если вы просто хотите побаловаться с Wasm и учиться, просто используйте Emscripten / Web и перестаньте беспокоиться :) Как только вы почувствуете себя опытным, возможно, это будет подходящее время, чтобы взглянуть насторона ВМ нижнего уровня (мир без API)

0 голосов
/ 19 февраля 2019

Вы правы, что сегодня широко используется wasm в контексте JS.Однако есть несколько попыток запустить wasm вне JS.Два, о которых я знаю, это:

...