Linuxのsyscallテーブルはどこにありますか?
オンラインで参照している人がたくさんいる arch/x86/entry/syscalls/syscall_64.tbl syscallテーブルの場合、これは正常に機能します。しかし、他の多くの参照 /include/uapi/asm-generic/unistd.h これは一般的にheadersパッケージにあります。どうしてsyscall_64.tblショー、 0 common read sys_read 正しい答えとunistd.h、 #define __NR_io_setup 0 __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) そして、それは示し__NR_readて #define __NR_read 63 __SYSCALL(__NR_read, sys_read) なぜ63ではなく1なのですか?私はどのように理解するの/include/uapi/asm-generic/unistd.hですか?まだ/usr/include/asm/あります /usr/include/asm/unistd_x32.h #define __NR_read (__X32_SYSCALL_BIT + 0) #define __NR_write (__X32_SYSCALL_BIT + 1) #define __NR_open (__X32_SYSCALL_BIT + 2) #define __NR_close (__X32_SYSCALL_BIT + 3) #define __NR_stat (__X32_SYSCALL_BIT + 4) /usr/include/asm/unistd_64.h …