当我搜索添加系统调用时,我得到了很多文章,但它们似乎是针对旧版本的,这似乎也是一个微不足道的过程。
但问题是,文章建议的目录不适用于 2.6.31 版本。有谁知道unistd.h
,syscall_table.S
和syscalls.h
/或他们相应的文件在哪里?
提前致谢。
当我搜索添加系统调用时,我得到了很多文章,但它们似乎是针对旧版本的,这似乎也是一个微不足道的过程。
但问题是,文章建议的目录不适用于 2.6.31 版本。有谁知道unistd.h
,syscall_table.S
和syscalls.h
/或他们相应的文件在哪里?
提前致谢。
为了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机器上。
在大多数 Linux 系统上,可以在以下位置找到此类头文件:
/usr/src/kernels/$KERNEL-VERSION/include/linux/
你需要安装你的内核源代码才能进行任何内核开发,如果这是你想要做的,因为unistd.h
它也是标准 gcc 库的一部分。