Rya*_*vre 7 c filesystems node.js emscripten
我目前正在使用emscripten编译支持在C中编写文件解析库.它从用户读取二进制文件并解析它的文件路径.
我知道emscripten不支持直接加载文件,而是使用虚拟文件系统.有没有办法将给定路径的文件加载到虚拟文件系统中,以便emscripten编译的C lib可以读取它?我正在寻找NodeJS和浏览器的解决方案.
如果要将此文件直接编译到库中,可以使用--preload-file或--embed-file选项.像这样:
emcc main.cpp -o main.html --preload-file /tmp/my@/home/caiiiycuk/test.file
Run Code Online (Sandbox Code Playgroud)
在C之后,你可以正常打开这个文件:
fopen("/home/caiiiycuk/test.file", "rb")
Run Code Online (Sandbox Code Playgroud)
或者您可以使用emscripten javascript fs-api,例如使用ajax:
$.ajax({
url: "/dataurl",
type: 'GET',
beforeSend: function (xhr) {
xhr.overrideMimeType("text/plain; charset=x-user-defined");
},
success: function( data ) {
Module['FS_createDataFile']("/tmp", "test.file", data, true, true);
}
});
Run Code Online (Sandbox Code Playgroud)
之后,您可以从C打开此文件.此外,将数据传递到C代码不是最佳方式,您可以直接在内存中传递数据,阅读此内容.
| 归档时间: |
|
| 查看次数: |
4857 次 |
| 最近记录: |