我希望能够将内存映射到文件描述符,以便我可以使用一些需要文件描述符的现有函数。这基本上就是我在寻找的东西:
void do_operation1(int fd);
char data[DATA_MAX] = { /* embedded binary data */ };
int fd = addr_to_fd(data, DATA_MAX);
do_operation1(fd);
/* ... operate on fd ... */
我可以用什么系统调用或电话来完成此任务?
答案 0 :(得分:7)
某些实现有fmemopen()
。 (当然你必须打电话给fileno()
)。
如果您没有,则可以使用fork()
和pipe()
自行构建。
答案 1 :(得分:3)
您应该查看shm_open()
。
答案 2 :(得分:2)