2

unistd.h が重要なヘッダーであることはわかっていますが、それがカーネル ソースからのものなのか、libc をインストールするまでインストールされているのかはわかりません。

4

1 に答える 1

2

フェドラで

# rpm -qf /usr/include/unistd.h
eglibc-headers-2.13-2.21.i686

この部分はヘッダーファイルで確認できます

this file is part of the GNU C Library.

カーネルバージョン 2.6.32.21 では、

/* kernel/include/linux/unistd.h */
#include <asm/unistd.h>

X86と仮定します

/* kernel/arch/x86/include/asm/unistd.h */
# ifdef CONFIG_X86_32
#  include "unistd_32.h"
# else
#  include "unistd_64.h"
# endif

ファイルにはシステムコールがあります。通常はunistd.hを使用しません

/*
 * This file contains the system call numbers.
 */

#define __NR_restart_syscall      0
#define __NR_exit         1
#define __NR_fork         2
#define __NR_read         3
#define __NR_write        4
#define __NR_open         5
#define __NR_close        6
#define __NR_waitpid          7
#define __NR_creat        8
于 2013-05-30T02:24:05.950 に答える