2010-04-18 96 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