У меня есть проект, в котором я хочу обрабатывать сигналы в WebAssembly. Я могу загрузить файл WAV с помощью JavaScript и получить данные в / проанализированы и обработаны в C ++ WebAssembly. Затем у меня есть указатель, который я могу передать обратно в JavaScript для доступа через буфер кучи. Но по какой-то странной причине смещение всегда неверно. Я вижу данные в голове.
Для чтения в JavaScript (в блоб для сохранения):
var blob = new Blob([new Uint8Array(Module.HEAPU8.buffer,Module.getOutputPtr(), Module.getOutputSize())],{type: "text/plain;charset=utf-8"});
и c ++ для получения указателя, который я использую:
int getOutputPtr()
{
return (int)(int*)&reader.data;
}