2012-07-01 25 views
2

mmap()用于创建由文件系统支持的内存区域。但是,我想要反过来:一个由内存支持的文件。那可能吗?我有一个传统的静态库(意味着它不可能改变它)只能打开一个本地文件。我无法将其更改为使用重定向的fd或stdin(因为pipe不支持seek)我希望从Windows共享(CIFS/SMB)流式传输文件内容。是否有可能在虚拟大小的本地文件系统上创建虚拟文件,以及何时传统静态库访问文件的任何部分(查找或读取,不写入),我们通过从CIFS/SMB进行获取并返回到旧版库(就像处理页面错误一样)?然后旧式库不会注意到任何区别...内存支持的虚拟文件(反向MMAP)?

由于权限问题,无法挂接CIFS/SMB共享。 假设环境是POSIX,但是,也欢迎操作系统特定的建议。

+6

WTF,你想编写自己的虚拟文件系统从CIFS中读取而无需挂载,因为你有权限问题? – 2012-07-01 04:15:00

+0

在linux中,您可以使用FUSE,但当然您可能会发现类似的权限问题,具体取决于操作系统配置。 – rodrigo

回答

1

可能您正在寻找shm_openshm_overview(7)手册页是开始搜索的好地方。