我想用Emscripten编译一个CLI应用程序,而只是利用本机文件系统层,以便该应用程序可以执行它自己的测试套件。
我知道我可以在程序的EM_ASM
函数中使用正确的main()
语句来做到这一点。但是,有没有办法告诉Emscripten默认使它可用?我见过一个建议-s NODERAWFS=1
的Github问题,但它似乎不起作用-至少没有达到预期的效果。
据我所知,我将拥有那些使本机文件系统可用于程序的选项:
main()
以具有EM_ASM
语句,该语句通过NODEFS
挂载根。之所以需要根映射,是因为需要向程序传递路径以允许程序找到它的测试对象。</ p>
对我如何进行这项工作有任何想法吗?
答案 0 :(得分:1)
The source code (settings.js
)解释了关于-s NODERAWFS=1
emcc编译选项:
文件系统API将直接使用Node.js API,而无需使用
FS.mount()
。 初始工作目录将与process.cwd()相同,而不是VFS根目录。
这听起来好像您可能需要使用./
之类的相对路径,而不是默认的根/
作为工作目录(如果启用了-s NODERAWFS=1
)?
除此之外,settings.js
对emcc选项的描述要比其官方文档更好。您可能想深入研究它。