2010-04-18 66 views

回答

1

unistd.h : $SOURCE_PATH/arch/x86/include/asm/unistd_32.h

syscalls.h : $SOURCE_PATH/arch/x86/include/asm/syscalls.h

syscall_table_32.h : $SOURCE_PATH/arch/x86/kernel/syscall_table_32.h

很显然,我的x86机器上。

0

在大多数Linux系统,例如头文件下可以找到:

/usr/src目录/内核/ $ KERNEL-VERSION /在include/linux/

你需要有你的内核尽管安装了能够完成任何内核开发的源代码,但如果这正是要做的事情,因为unistd.h也是标准gcc库的一部分。

+0

现在,我下载了2.6.31的源代码并将其解压。我想添加一个系统调用这个源,然后构建并安装它。你说的是,这是不可能的?否则,在这个源文件中,这些文件在哪里,我在那里找到了unistd.h和syscalls.h。那些是要修改的吗? – besamelsosu 2010-04-18 06:34:54

+0

如果您将源代码下载为发行版软件包,请进行修改并重新构建软件包,那么您会做得更好。从香草来源构建和安装定制内核并不总是一个好主意,特别是如果您不熟悉底层分发。我曾经作为内核开发者工作过,所以我应该知道:-) – 2010-04-18 07:08:14