I have a very large ArrayBuffer (or TypedArray) in JavaScript that I want to pass to an emscriptened function. I'd like to pass the raw bytes without incurring a copy.
If my C/C++ function takes an std::string
as in:
void processBuffer(std::string const& buffer)
I can get the data, but IIUC, the conversion to std::string
will incur a copy of the buffer.
Is there a way to pass the raw buffer without a copy?
My access is strictly read-only.
I tried:
void processBuffer(const char* str, size_t size);
with setting allow_raw_pointers()
in the EMSCRIPTEN_BINDINGS
, but this does not seem to work.
What am I missing?
from Passing a JS ArrayBuffer or TypedArray to Emscripten w/o Copying
No comments:
Post a Comment