微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我在哪里可以看到像Linux的写/读系统API的源代码?

我已经从这里下载了系统源代码,但是我找不到来自软件包的读/写function的源代码。 有谁能告诉我在哪里可以得到这些套接字操作函数代码

[为什么我要检查源代码]

我正在开发一个multithreading的linux应用程序,并且需要知道,如果调用像write / read / sendmsg这样的socket操作函数来同时访问来自不同线程的同一个TCP套接字是安全的。

accept4和accept之间有什么区别

无法绑定到多播地址(Windows)

Python 3.2.3:套接字需要更长的时间比它应该?

如何模拟客户端和服务器之间的套接字断开(在Windows上)?

将Java Socket绑定到每个环回地址

您可以在LXR的内核源代码搜索函数和其他东西。

但在你搜索之前,你应该知道write / read / sendmsg是系统调用,它们的定义不像通常的函数。 当你使用read()时,sys_read()实际上起作用了,它自己的定义也是困惑的: 在这里

这里是write()和sendmsg() 。

如果您想了解更多关于系统调用的信息,例如定义,您可以阅读Linux coreel Development的第5章。

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

或其他相关来源。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐