以"a file"身份访问嵌入资源



我正在尝试将两个库粘合在一起,其中CCD_ 1正在向CCD_ 2提供脚本。这些库用于我正在编写的c++11代码中。我不能修改那些libs。

lib1中的脚本嵌入到具有https://github.com/vector-of-bool/cmrc.

每个脚本的内容都可以使用迭代器访问,就像一样

cmrc::embedded_filesystem fs=cmrc::hpo::get_filesystem()
auto script1 = fs.open("script1")
# use iterator for script1...

但是,lib2函数需要"物理"文件:void file(const char *);

我知道我可以将内容从lib1迭代器转储到一个临时文件,用lib2读取它,然后删除该文件。这个解决方案听起来不太理想,我正在寻找更好的方法。

虽然命名管道通常用于进程间通信,但它们也在进程内工作。在包括Windows在内的许多操作系统上,它们的名称都是文件系统命名空间的一部分。因此,通常可以将管道名称传递给需要文件名的库。

相关内容

  • 没有找到相关文章

最新更新