在C程序中,为了使用套接字,我们需要包括:
#include<sys/socket.h>
我搜索了socket.c
文件(<sys/socket.h>
的实现),但没有找到它(find -iname "socket.c*"
)
答案 0 :(得分:5)
头文件包含与套接字相关的系统调用的声明。要开始深入了解实施,请考虑参考Linux source tree中的net/socket.c
文件。
关于更改实现 - Linux是一个以GNU GPL条款分发的开源软件产品。如果您花费相当多的时间来了解如何从头开始重新构建内核,您将能够将所需的任何更改应用到内核并将其部署到本地计算机上(当然,风险自负)。
答案 1 :(得分:1)
socket()
实现在linux内核源代码中的net/socket.c
SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)
您可以将此文件修改为实现。