webassembly.instantiate против модуля

Попробуйте следующее:

WebElement element = ...
((JavascriptExecutor)driver).executeScript(
  "var ele=arguments[0]; ele.innerHTML = 'my new content';", element);
1
задан Philippe Oceangermanique 15 January 2019 в 16:19
поделиться

1 ответ

Краткий ответ : Ваш Module уже использует WebAssembly.instantiateStreaming() за кулисами.

Длинный ответ : Emscripten (emcc) - это не только компилятор, но и целая инфраструктура цепочки инструментов. Когда вы используете команду emcc, emcc вызывает компилятор clang для компиляции вашего кода C в WASM, связывает необходимый JS-код для использования в WASM, используя import , и генерирует ] шаблонный JS-код (он называется preamble.js) для создания экземпляра кода WASM для Module, чтобы разработчикам не нужно было писать собственный код для написания кода начальной загрузки .

Посмотрите на свой код glue.js. Вы можете найти строку, которая использует WebAssembly.instantiateStreaming() . Если вы не используете emcc без опции -s SIDE_MODULE=1, он всегда генерирует код preamble.js для вас. Поэтому обычно вам не нужно самостоятельно использовать WebAssembly .

Некоторые продвинутые пользователи не хотят этого большого шаблона и используют WASM более жестко, например, используя clang без emcc. Затем они должны использовать WebAssembly, включая instantiateStreaming(), сами.

0
ответ дан Bumsik Kim 15 January 2019 в 16:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: