c - 内存文件的文件路径

标签 c posix

我有一个 void *buffer,它是 RAM 中文件的一个实例。

文件类型的格式必须由给定的 API 解析。

不幸的是,通过 API 打开这种文件类型的唯一方法是向 API 提供文件路径:

sample_api_open(char *file_name, ...);

我知道 shm_open 返回文件描述符,但 API 只需要一个文件路径。

是否有解决方法来读取内存中的此类文件?

最佳答案

Is there a work around to read this type of file in memory?

将缓冲区的内容转储到 /tmp 上的临时文件中。

在绝大多数现代 *NIX 系统上,/tmp 是一个合成的内存文件系统。仅在内存不足的情况下,内容可能会因交换而打到磁盘。

如果信息量太大,为了避免重复,将内容转储到/tmp后,可以释放本地内存,mmap()文件内容。

关于c - 内存文件的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29548395/

相关文章:

c++ - 在 fedora 中运行包含 posix api 的 c++ 程序

c - 意外的信号量行为,线程执行超出 sem_wait()

python - 如何将这 2 个日期/时间列转换为 1 个?

Python scandir() 排序\POSIX readdir 排序

c - 数据结构中的说明符限定符列表错误

c - 通过 TCP 发送结构(C 编程)

c - execvp() 不处理写入输出 >filename.log

c - 如何为 C 常量结构设置 ANTLR 语法?

c - freeRTOS 中的软件中断

unix - realpath() 可移植性问题是否已过时?