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