(webassembly) перенести много переменных из кода C в JavaScript - PullRequest
0 голосов
/ 24 апреля 2019

В моем коде C есть функция, в которой меняются несколько переменных, и я хочу передать это изменение в javascript после того, как я преобразовал свой код C в wasm.Я вижу в Интернете, что CCALL и CWRAP могут сделать это для одной переменной, а не для нескольких одновременно. Как я могу экспортировать много переменных одновременно?

Заранее спасибо.

1 Ответ

0 голосов
/ 24 апреля 2019

Если вы хотите вернуть несколько переменных за один вызов функции, вы не можете.

Спецификация WebAssembly пока не имеет множественного возврата , а сам C не имеет множественного возврата (ни JS не имеет).

Однако у вас есть несколько вариантов для достижения аналогичной цели:

  1. Просто вызовите несколько функций (я имею в виду, почему бы и нет?)
  2. Определите структуру C и передайте ее указатель в JS.
  3. Определить WebIDL для структуры C для легкого взаимодействия с JS.
...