Linux,不能包含sys模块

时间:2016-02-26 17:03:02

标签: c linux include kernel sys

当我尝试包含一个sys模块(例如#include <sys/shm.h>)时,我收到以下错误:没有这样的文件或目录。在互联网上找不到任何有效的解决方案。 使用的语言是C。

2 个答案:

答案 0 :(得分:1)

在您的问题中,您没有指定您正在尝试编译内核模块。

内核中没有用户空间库(和用户空间函数)。这就是为什么你不能包含用户空间标题。你必须只使用内核提供的函数进行开发。

答案 1 :(得分:0)

肯定没有安装

glibc标头(您可能刚安装了gcc而没有glibc标头。

如果你运行Ubuntu / Debian,这个命令可以解决你的问题:

sudo apt-get install libc-dev

注意:linux/shm.hsys/shm.h不一样。 linux/shm.h由Linux内核提供,不适合普通开发人员使用。

相关问题