我很好奇 emscripten 是否可以在没有 libc 的情况下构建二进制文件。
如果我有 simple.c:
int add1(int x) {
return x + 1;
}
而且我不想包含任何libc,这可能吗?
到目前为止,我最好的尝试是:
emcc simple.c -s NO_FILESYSTEM=1 -s DISABLE_EXCEPTION_CATCHING=1 -s DEFAULT_LIBRARY_FUNCS_TO_INCLUDE='[]' -s LIBRARY_DEPS_TO_AUTOEXPORT='[]' -s EXPORTED_FUNCTIONS='["add1"]' -s USE_SDL=0 -o simple.js -nostdlib
但生成的输出仍然包括 malloc 的符号、字符串转换例程等。
我也对生成 WebAssembly 的相同过程感兴趣;也就是说,我的真正目标是生成一个只包含一个函数的 webassembly 模块。这可能与 emscripten 吗?