Вызов производного объекта JavaScript в многопоточном C ++ вызывает ошибку привязки WebAssembly

Я хочу достичь следующих целей

  1. Определить класс B и абстрактный класс A в C ++, в то время как JavaScript обеспечит реализацию для A
  2. Вызов метода A в C ++
  3. (2) должно произойти в другом потоке.

Я использую Embind, он хорошо работает для (1) и (2), однако ошибка при интеграции многопоточности.

Uncaught (в обещании) abort () при ошибке
в jsStackTrace (http://127.0.0.1:8887/wasm.js:1042:13)
at stackTrace (http://127.0.0.1:8887/wasm.js:1059:12)
в Object.abort (http://127.0.0.1:8887/wasm.js:9854:44)
в _abort (http://127.0.0.1:8887/wasm.js:7221:22)
в функции wasm [465]: 63
в функции wasm [463]: 410
в функции wasm [487]: 39
в функции wasm [486]: 116
в функции wasm [447]: 27
при функции Wasm [85]: 60

pthread-main.js onmessage () перехватил необработанное исключение: BindingError: параметр 0 имеет неизвестный тип v

BindingError: параметр 0 имеет неизвестный тип v
в BindingError. (http://127.0.0.1:8887/wasm.js:5500:24)
в новом BindingError (eval в createNamedFunction (http://127.0.0.1:8887/wasm.js:5441:14),: 4: 34)
at throwBindingError (http://127.0.0.1:8887/wasm.js:5578:13)
at requireRegisteredType (http://127.0.0.1:8887/wasm.js:5615:11)
в __emval_lookupTypes (http://127.0.0.1:8887/wasm.js:7163:18)
в __emval_get_method_caller (http://127.0.0.1:8887/wasm.js:7169:19)
в функции wasm [178]: 48
при функции Wasm [175]: 53
в функции wasm [174]: 38
при функции Wasm [173]: 53

BindingError {имя: «BindingError», сообщение: «параметр 0 имеет неизвестный тип v», стек: «BindingError: параметр 0 имеет неизвестный тип v↵ a… asm-функция [174]: 38↵ в функции wasm [173]: 53″ }

Может кто-нибудь помочь взглянуть? Я разместил свой вопрос и код здесь: https://github.com/kripken/emscripten/issues/7812, Спасибо!

-1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]