文件名称:wasm-malloc:用于WebAssembly的mallocfree
文件大小:8KB
文件格式:ZIP
更新时间:2024-05-31 00:22:08
C
wasm-malloc WebAssembly的malloc / free的简单实现。 堆是一个双链表,如果有必要/可能,将合并或拆分块。 目前,不支持realloc。 malloc / calloc无法正确对齐内存。 由于WebAssembly MVP不支持缩小线性内存,因此无法释放释放的内存。 建造 这需要LLVM工具链(编译为包括实验wasm32目标,请参见 )。 llvm二进制目录的路径必须使用LLVM_ROOT环境变量传递到编译脚本。 编译脚本的示例调用: mkdir build LLVM_ROOT=$HOME/ CFLAGS=-O2 ./compile build/main.wasm src/malloc.c src/test.c 可以使用预处理器宏MALLOC_DEBUG启用调试日志记录。 这还添加了函数print_heap() ,该函数将堆的当前布局打印到浏览器
【文件预览】:
wasm-malloc-master
----index.html(298B)
----main.js(847B)
----src()
--------malloc.c(7KB)
--------print.h(243B)
--------test.c(464B)
--------external.syms(44B)
--------malloc.h(234B)
----lib()
--------print.js(1KB)
----LICENSE(1KB)
----README.md(1KB)
----compile(416B)
----pre.js(134B)
----util.js(326B)
----.gitignore(8B)