在glibc源码中哪里可以找到select()源代码?

问题描述 投票:0回答:2

我试图在glibc源代码中找到

select()
源代码(Linux,i386 arch),但我找不到与所述架构相关的任何内容。

有人可以指点我

select()
源代码吗?

c linux kernel glibc
2个回答
6
投票

mh 的回答非常好,但我会尝试更具体:

select 是 Linux 系统调用,而不是 libc 函数。它的源代码可以在here找到。

libc 只有用于调用(执行)linux 系统调用的包装器。 select 系统调用的包装器是在构建时动态创建的,因为 select 位于 syscalls.list 文件中。


4
投票

select()不是libc的函数,而是内核函数,所以你需要查看内核源码。

你可以通过查看手册页来了解这一点:如果它在第 2 节中,它是一个内核函数,如果它在第 3 节中,它是标准 C 库的函数,在你的例子中是 glibc。

编辑:就像其他一些人正确评论的那样(谢谢!),第 2 节中描述的函数正式称为“系统调用”,它实际上是对包装操作系统实际调用接口的库的调用。

© www.soinside.com 2019 - 2024. All rights reserved.