Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Linux用户空间程序的正确构建环境_C_Linux_Makefile_Linux Kernel - Fatal编程技术网

C Linux用户空间程序的正确构建环境

C Linux用户空间程序的正确构建环境,c,linux,makefile,linux-kernel,C,Linux,Makefile,Linux Kernel,我需要构建一个Linux用户空间程序,其中包含来自Linux内核的头文件。然而,这些标题反过来似乎使用了其他标题等等。所以我的问题是,在Makefile中包含所有可能需要的目录的正确/好方法是什么?谢谢。大多数使用Linux内核头的用户空间程序不需要做任何特殊的事情linux/已包含在默认的包含路径中,例如#include。发行版将包括这些文件作为其标准>标准开发包的一部分,例如Debian上的build-essential 您还可以获取特定于内核版本的头文件,这是构建内核模块时所必需的,但用户

我需要构建一个Linux用户空间程序,其中包含来自Linux内核的头文件。然而,这些标题反过来似乎使用了其他标题等等。所以我的问题是,在Makefile中包含所有可能需要的目录的正确/好方法是什么?谢谢。

大多数使用Linux内核头的用户空间程序不需要做任何特殊的事情<代码>linux/已包含在默认的包含路径中,例如
#include
。发行版将包括这些文件作为其标准>标准开发包的一部分,例如Debian上的
build-essential


您还可以获取特定于内核版本的头文件,这是构建内核模块时所必需的,但用户空间程序通常只与套接字和管道交互,因此这些通道只需要一些结构定义或协议帮助程序(例如,Netlink).

我正在学习linux内核编程的基础知识,因此一直在构建模块。现在,我正在尝试构建一个我认为被称为“用户空间设备驱动程序”的东西,在这里我将与/dev/mem/和/proc/中的自定义文件进行交互。我想访问在我的体系结构的一些页面表标题中定义的一些预处理器变量和结构。对于这种情况,你有什么建议?再次感谢。我的建议是调查现有的做同样事情的项目,看看它们能做些什么。不幸的是,我从来没有做过特定于体系结构的用户驱动程序,只做过路由、文件系统和帐户。我将进一步介绍。一般来说,我找到了代码摘录,但没有附带Makefiles。