我想要做的是,我想在用户空间中创建一个共享内存,然后我发送这个共享内存的名称&它的大小是自定义系统调用,然后这个系统调用打开这个共享内存&修改它。使用shm_open
& mmap
。在用户空间和用户之间可以做到这一点内核空间?
我的问题是
每当我尝试make
到新的自定义内核时,我都会遇到以下错误
以下是包含的头文件
unistd.h
stdlib
sys/types
sys/stat
sys/shm
sys/mman
fcntl
&其他标题。 在gcc中我会调用此命令gcc example.c -lrt
&它运作得很好。
答案 0 :(得分:0)
根据manual page,您需要:
#include <sys/mman.h>
#include <sys/stat.h> /* For mode constants */
#include <fcntl.h> /* For O_* constants */
在你的档案中。具体来说,<sys/stat.h>
包含缺少的常量。也许你错过了.h
。
如果这没有帮助,我建议您发布一个说明问题的最小例子。
答案 1 :(得分:0)