Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用vn_rdwr()API在osx内核扩展中组合两个文件_C++_C_Macos_Kernel - Fatal编程技术网

C++ 如何使用vn_rdwr()API在osx内核扩展中组合两个文件

C++ 如何使用vn_rdwr()API在osx内核扩展中组合两个文件,c++,c,macos,kernel,C++,C,Macos,Kernel,我有两个文件test1和test2,每个文件的大小都是2GB。我想在内核空间中将这两个文件合并成一个大小为4GB的虚拟文件。使用内核扩展。我浏览了API vn_rdwr()。但它使用const char*作为文件路径。但是我将如何给两个文件vnode命名并将它们组合成一个虚拟文件。单个文件存在,但我需要将它们合并到一个4 gb大小的虚拟文件中。。有什么建议吗?。我不想使用任何用户空间库或命令。此练习的目的是什么?你不太可能有正当的理由这么做。我不知道OSX的具体情况,但应该清楚的是,这种黑客行为

我有两个文件test1和test2,每个文件的大小都是2GB。我想在内核空间中将这两个文件合并成一个大小为4GB的虚拟文件。使用内核扩展。我浏览了API vn_rdwr()。但它使用const char*作为文件路径。但是我将如何给两个文件vnode命名并将它们组合成一个虚拟文件。单个文件存在,但我需要将它们合并到一个4 gb大小的虚拟文件中。。有什么建议吗?。我不想使用任何用户空间库或命令。

此练习的目的是什么?你不太可能有正当的理由这么做。我不知道OSX的具体情况,但应该清楚的是,这种黑客行为不会发生。您可能需要攻击vfs层,这是一个绝对的禁忌。或者,您可以尝试在不进行完全攻击的情况下,以设备文件的形式(适当重定向i/o)或专用的fuse文件系统的形式进行攻击。但正如前面提到的,听起来你好像在试图做错事。

请至少添加一个剪断的代码,但我也尝试了FUSE驱动程序。但无法将两个文件合并为一个。