WebAssembly. C++ строки

156
27 ноября 2020, 23:10

Ребята, помогите, я обычный студент, которому нужно сдать курсач. У меня есть функция на C++, которая возвращает std::string. Как мне использовать эту функцию в js? Я делал по туториалу https://medium.com/devschacht/daniel-simmons-get-started-with-webassembly-using-only-14-lines-of-javascript-89960df71498 ,используя онлайн компилятор для компиляции c++ в wasm файл, и у меня получилось вызвать функцию, которая возвращает число. Но с функцией, которая возвращает string у меня выводится ошибка

Uncaught (in promise) TypeError: WebAssembly Instantiation: Imports argument must be present and must be an object
    at scripts.js:7

c++ код функции

#include "iostream"
std::string hello(){
    return "hello";
}

js код:

let squarer;
let hello;
function loadWebAssembly(fileName) {
 return fetch(fileName)
 .then(response => response.arrayBuffer())
.then(buffer => WebAssembly.compile(buffer))
.then(module => {return new WebAssembly.Instance(module) });
};
 loadWebAssembly('squarer.wasm')
  .then(instance => {
  squarer = instance.exports._Z7squareri;
  console.log('Finished compiling! Ready when you are...');
}); 
loadWebAssembly('test.wasm')
  .then(instance => {
   hello = instance.exports._Z5hellov;
   console.log('Finished compiling! Ready when you are...');
}); 
READ ALSO
Как передать jquery переменную в параметрах функции

Как передать jquery переменную в параметрах функции

Помогите товарищи, только начал осваивать jquery и не могу разобраться как передать переменную типа $('переменная') в параметрах функции

136
Получение данных пользователей во vue.js. Json api

Получение данных пользователей во vue.js. Json api

Составил на сервере (laravel) json запрос, который получает комментарии статьи

95
setInterval / setTimeout / clearInterval - Валидация поля - Нужна помощь по поводу ОСТАНОВКИ ТАЙМЕРА после “Вставки” значения через контекстное меню

setInterval / setTimeout / clearInterval - Валидация поля - Нужна помощь по поводу ОСТАНОВКИ ТАЙМЕРА после “Вставки” значения через контекстное меню

Событие keyup - пока печатается всё с клавиатуры - всё хорошоПользователь вводит текст, обработчик проверяет на правильность и если что-то неправиьлно...

125