c - 内存支持的虚拟文件(反向 MMAP)?

标签 c posix reverse mmap

mmap() 用于创建由文件系统支持的内存区域。但是,我想要相反的情况:一个由内存支持的文件。那可能吗?我有一个遗留静态库(意味着无法更改它)只能打开一个本地文件。我无法将其更改为使用重定向的 fd 或标准输入(因为管道不支持搜索)我希望文件内容从 Windows 共享 (CIFS/SMB) 流式传输。是否可以在本地文件系统上创建一个具有虚假大小的虚拟文件,当遗留静态库访问文件的任何部分(查找或读取,不写入)时,我们通过从 CIFS/SMB 获取并返回来处理它遗留库(就像处理页面错误一样)?那么遗留库将不会注意到任何差异......

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

最佳答案

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

关于c - 内存支持的虚拟文件(反向 MMAP)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11279477/

相关文章:

c - Pthreads 信号在 Linux 中用作 IPC 时丢失

c - 'wait' 系统调用上的 EINTR

linux-kernel - 为什么 clock_nanosleep 在配置为休眠 10 毫秒时却休眠 20 毫秒?

c - 为什么这两个 execvp 会产生不同的结果?

c++ - 如何在 C++ 矩阵 2D 的其他对角线上找到平行对角线反转

javascript - 在vanilla javascript中反转多个单词

c++ - 什么是TCHAR字符串以及Win32 API函数的 'A'或 'W'版本?

c - 如何修复导致段错误的 qsort 比较器

c - 我有一个三角形,我需要计算 a + b + c

list - 如何解决这个列表反转问题?