该man 2 write部分NOTES包含以下注释:
在 Linux 上,write()(和类似的系统调用)最多传输 0x7ffff000 (2,147,479,552) 个字节,返回实际传输的字节数。(这在 32 位和 64 位系统上都是如此。)
DESCRIPTION中有如下语句:根据 POSIX.1,如果 count 大于 SSIZE_MAX,则结果是实现定义的
SSIZE_MAX远大于0x7ffff000. 为什么会有这个注释?
更新:感谢您的回答!如果有人感兴趣(为了更好的 SEO 来帮助开发人员),所有具有该限制的功能是:
readwritesendfile要找到这一点,只需全文搜索手册即可:
% man -wK "0x7ffff000"
/usr/share/man/man2/write.2.gz
/usr/share/man/man2/read.2.gz
/usr/share/man/man2/sendfile.2.gz
/usr/share/man/man2/sendfile.2.gz
Run Code Online (Sandbox Code Playgroud)