在glibc源中找到select()源代码的位置?

时间:2011-06-15 10:11:14

标签: c linux kernel glibc

我试图在glibc源代码中找到select()源代码(linux,i386 arch), 但我找不到任何东西(与所说的建筑有关)

有人能指出我的select()源代码吗?

2 个答案:

答案 0 :(得分:5)

答案很好,但我会尝试更具体:

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

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

答案 1 :(得分:3)

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

你可以通过查看手册页来告诉它:如果它在第2节中,它是一个内核函数,如果它在第3节中,它是标准C库的函数,在你的情况下是glibc。

编辑:就像其他人正确评论一样(谢谢!),第2节中描述的功能正式称为系统调用,它实际上是对包装操作系统的库的调用实际的通话界面。