日期:2014-05-16  浏览次数:20815 次

socket函数源码
大家好,

最近本人在学习网络编程,想看下一些网络常用库函数的源码,自己下载了glibc源码,发现里面有个socket.c的文件,可是打开一看,除去头文件和注释只有简单几行代码,内容如下:
int
__socket (domain, type, protocol)
     int domain;
     int type;
     int protocol;
{
  __set_errno (ENOSYS);
  return -1;
}


weak_alias (__socket, socket)
stub_warning (socket)

除socket.c外,像listen.c bind.c都是这样,请问这是怎么回事,如何才能察看到完整源代码  谢谢

------解决方案--------------------
socket应该是系统调用吧,怎么会在glibc里呢,应该看linux内核源码吧
------解决方案--------------------
xuexileha
------解决方案--------------------
glibc中封装的socket,connect等函数只是包装了下系统调用。系统调用要使用汇编软中断指令陷入内核中,这个过程被glibc包装成了函数了。具体的实现是在linux内核中。

另LZ可能找错地方了。
可以参见这个网址http://blog.csdn.net/fisher_jiang/article/details/5550687
------解决方案--------------------
另学习网络编程并不需要一开始就深入linux内核中的协议栈学习。是否需要得看需求。有时间可以研究下,看《unix网络编程卷一》