__内核源代码中的SYSCALL vs__SC_COMP预处理器宏`

__内核源代码中的SYSCALL vs__SC_COMP预处理器宏`,c,linux-kernel,operating-system,kernel,system-calls,C,Linux Kernel,Operating System,Kernel,System Calls,我试图了解系统调用的工作原理,并了解如何定义syscall数字并将其添加到表中。在内核源文件中,我可以看到在为系统调用号定义了宏之后,这些宏将通过\uuuu SYSCALL或\uuu SC\u COMP宏添加到系统调用表中。这两者之间的确切区别是什么?\uuuu SC\u COMP是针对系统调用的,您希望为其添加兼容版本。这是运行64位内核的32位程序的接口。看起来给定的文件被解析了两次:一次用于定义普通系统调用,一次用于定义compat类(如果需要)。

我试图了解系统调用的工作原理,并了解如何定义
syscall
数字并将其添加到表中。在内核源文件中,我可以看到在为系统调用号定义了宏之后,这些宏将通过
\uuuu SYSCALL
\uuu SC\u COMP
宏添加到系统调用表中。这两者之间的确切区别是什么?

\uuuu SC\u COMP
是针对系统调用的,您希望为其添加兼容版本。这是运行64位内核的32位程序的接口。看起来给定的文件被解析了两次:一次用于定义普通系统调用,一次用于定义
compat
类(如果需要)。