machine type must be wasm32
unknown file type
{"text":"asm"}
atexit()s
-O2 --closure 1
TypeError: Module.someThing is not a function
Runtime
Runtime.someThing
NameError
a problem occurred in evaluating content after a "-s"
-s
SyntaxError: invalid syntax
file=..
f'..'
RangeError: Maximum call stack size exceeded
.wasm
dlopen()
val
ASYNCIFY_IMPORTS
ccall
ccall()
cwrap()
setValue()
getValue()
UTF8ToString()
stringToUTF8()
UTF16ToString()
stringToUTF16()
UTF32ToString()
stringToUTF32()
AsciiToString()
intArrayFromString()
intArrayToString()
writeArrayToMemory()
addRunDependency()
removeRunDependency()
stackTrace()
HEAP8
HEAP16
HEAP32
HEAPU8
HEAPU16
HEAPU32
HEAPF32
HEAPF64
FS.makedev()
FS.registerDevice()
FS.init()
FS.mount()
FS.unmount()
FS.syncfs()
FS.mkdir()
FS.mkdev()
FS.symlink()
FS.rename()
FS.rmdir()
FS.unlink()
FS.readlink()
FS.stat()
FS.lstat()
FS.chmod()
FS.lchmod()
FS.fchmod()
FS.chown()
FS.lchown()
FS.fchown()
FS.truncate()
FS.ftruncate()
FS.utime()
FS.open()
FS.close()
FS.llseek()
FS.read()
FS.write()
FS.readFile()
FS.writeFile()
FS.createLazyFile()
FS.createPreloadedFile()
FS.trackingDelegate[callback name]
FS.isFile()
FS.isDir()
FS.isLink()
FS.isChrdev()
FS.isBlkdev()
FS.isSocket()
FS.cwd()
FS.chdir()
FS.readdir()
FS.lookupPath()
FS.analyzePath()
FS.getPath()
Module.arguments
Module.buffer
Module.wasmMemory
Module.locateFile
Module.logReadFiles
Module.printWithColors
Module.onAbort
Module.onRuntimeInitialized
Module.noExitRuntime
Module.noInitialRun
Module.preInit
Module.preinitializedWebGLContext
Module.preRun
Module.print
Module.printErr
Module.mainScriptUrlOrBlob
Module.destroy()
Module.getPreloadedPackage()
Module.instantiateWasm()
Module.onCustomMessage()
Module.fetchSettings()
val::array()
val::object()
val::u8string()
val::u16string()
val::undefined()
val::null()
val::as_handle()
val::take_ownership()
val::global()
val::module_property()
val::val()
val::~val()
val::operator=()
val::hasOwnProperty()
val::new_()
val::operator[]()
val::set()
val::operator()()
val::call()
val::as()
val::typeof()
val::vecFromJSArray()
val::convertJSArrayToNumberVector()
val::await()
val::operator co_await()
arg
ret_val
allow_raw_pointers
allow_raw_pointers::type
allow_raw_pointer
select_overload()
select_const()
optional_override()
function()
value_array
value_object
default_smart_ptr_trait
smart_ptr_trait
wrapper
EMSCRIPTEN_WRAPPER()
base
pure_virtual
constructor
class_
register_vector()
register_map()
enum_
constant()
allocate()
FS.hashName()
FS.hashAddNode()
FS.hashRemoveNode()
FS.lookupNode()
FS.createNode()
FS.destroyNode()
FS.isRoot()
FS.isMountpoint()
FS.isFIFO()
FS.nextfd()
FS.getStream()
FS.createStream()
FS.closeStream()
FS.getStreamFromPtr()
FS.getPtrForStream()
FS.major()
FS.minor()
FS.getDevice()
FS.getMounts()
FS.lookup()
FS.mknod()
FS.create()
FS.allocate()
FS.mmap()
FS.ioctl()
FS.staticInit()
FS.quit()
FS.indexedDB()
FS.DB_NAME()
FS.getMode()
FS.findObject()
FS.createPath()
FS.createFile()
FS.createDataFile()
FS.createDevice()
FS.forceLoadFile()
malloc
free
SAFE_HEAP
The topics in this section cover the main integration points that you need to consider when porting C/C++ code to Emscripten, along with general coding and debugging guidelines.