kola Asked: 2018-02-26 05:02:28 +0800 CST2018-02-26 05:02:28 +0800 CST 2018-02-26 05:02:28 +0800 CST 用于大文件的 FreeBSD i386 sendfile 772 FreeBSD i386 有任何类型的 sendfile64 吗?在 FreeBSD 系统调用参考中找不到类似的东西。 freebsd x86 1 个回答 Voted Best Answer Allan Jude 2018-03-01T10:24:20+08:002018-03-01T10:24:20+08:00 即使在 i386 上,off_t 也是 64 位的。只有 size_t 是 32 位的。如果您调用 sendfile(),您可以指定 nbytes = 0,它将发送整个文件。偏移量是 64 位,因此如果您只需要发送大文件的一部分,则必须使用 32 位大小的块循环调用 sendfile() 并增加偏移量。 一般来说,即使在 FreeBSD/i386 上处理大文件也不会有任何问题。
即使在 i386 上,off_t 也是 64 位的。只有 size_t 是 32 位的。如果您调用 sendfile(),您可以指定 nbytes = 0,它将发送整个文件。偏移量是 64 位,因此如果您只需要发送大文件的一部分,则必须使用 32 位大小的块循环调用 sendfile() 并增加偏移量。
一般来说,即使在 FreeBSD/i386 上处理大文件也不会有任何问题。