我已经从这里下载了系统源代码,但是我无法从包中找到读/写函数的源代码。谁能告诉我在哪里可以获得这些套接字操作函数的代码?
[为什么要查看源代码]
我正在开发一个多线程的 linux 应用程序,并且需要知道调用诸如 write/read/sendmsg 之类的套接字操作函数以同时从不同线程访问同一个 TCP 套接字是否安全。
1)找出你想查看的库提供的功能
例如“人读”
NAME
read - read from a file descriptor
SYNOPSIS
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
2) 定位头文件,例如“/usr/include/unistd.h”
3) 找出提供此文件的软件包,例如 Debian/Ubuntu
pwadas@kehillah:~$ dpkg -S /usr/include/unistd.h
libc6-dev: /usr/include/unistd.h
4) 下载源码包并浏览代码
各种库中可能有许多“读取”功能。你可能想试试
man 7 socket
man 7 tcp
或其他相关来源。