系统调用如何在Linux中找到?

Eps*_*tor 1 linux system-calls

我正在尝试在Red Hat 8.0中添加一个新的系统调用,我对该机制的某些方面感到困惑.:我一直遵循本指南http://www.linuxjournal.com/article/3326其中详细介绍了更新系统调用表的步骤entry.Sunistd.h.

但是,我似乎无法弄清楚编译器如何从这些信息中实际找到实现系统调用的位置.显然有一些涉及#includes 的东西,但我找不到包含的任何迹象,也没有找到代码中的许多系统调用.我需要做什么才能找到我的系统调用?

Zan*_*ynx 5

C库提供恰好看起来像系统调用的函数.实际发生的是调用C库函数然后它进行系统调用.

如果添加新的系统调用,那么为了使其易于使用,您需要将其添加到C库并重新编译.

或者您可以使用C库提供的系统调用函数和宏:syscall和_syscall.

尝试man syscallman _syscall查看详细信息.