/ / Ako funguje makeSetValue, makeGetValue a možnáExport v emscripte? - javascript, emscripten

Ako makeSetValue, makeGetValue a maybeExport pracujú v emscripten? - javascript, emscripten

vidím makeSetValue, makeGetValue a maybeExport v mnohých skriptoch, napríklad v preamble.js

Neviem však, ako ich používať alebo ako skutočne fungujú, pretože tieto funkcie nie sú uvedené v dokumentácii.

Príklad kód:

function writeArrayToMemory(array, buffer) {
for (var i = 0; i < array.length; i++) {
{{{ makeSetValue("buffer++", 0, "array[i]", "i8") }}};
}
}

{{{ maybeExport("writeArrayToMemory") }}}

odpovede:

2 pre odpoveď č. 1

{{{ ... }}} je makro, je extrahované v čase kompilácie. použitie --js-library možnosť ako emcc --js-library lib_foo.js main.c ....

https://github.com/kripken/emscripten/blob/master/src/parseTools.js

lib_foo.js:

mergeInto(LibraryManager.library, {
writeArrayToMemory: function(array, buffer) {
for (var i = 0; i < array.length; i++) {
{{{ makeSetValue("buffer++", 0, "array[i]", "i8") }}};
}
}
});