赞
踩
当前位置:我的异常网» Linux/Unix » socket函数在哪个文件定义,解决方案
socket函数在哪个文件定义,解决方案
www.myexceptions.net 网友分享于:2015-01-10 浏览:0次
socket函数在哪个文件定义,
我想知道socket函数在哪里定义的,具体的实现过程。
比如一些函数可以再/usr/include/中的头文件中找到,但是socket函数却找不到。
那么socket函数执行时,会调用哪些函数呢,求大神指教。
------解决思路----------------------
socket函数是由glibc提供的,可以在glibc 源代码的include/sys/socket.h文件中找到上述socket函数的声明,这些函数的真正实现比较难找,对于x86体系来说,相关源文件在sysdeps/unix/sysv/linux/i386/socket.S,这是用汇编实现的,用来从用户空间进入名为socketcall的系统调用,并传递参数,下面是相关汇编代码:
.globl __socket
ENTRY (__socket)
#if defined NEED_CANCELLATION && defined CENABLE
SINGLE_THREAD_P
jne 1f
#endif
/* Save registers. */
movl %ebx, %edx
cfi_register (3, 2)
movl $SYS_ify(socketcall), %eax /* System call number
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。