2

我需要在大文件中间实现添加和删除块 - “打孔”我在 FreeBSD 下fallocate()找不到模拟函数。splice()

4

2 回答 2

1

FreeBSDposix_fallocate(2)自 8.3 以来就有,但没有splice().

于 2012-12-23T19:48:23.553 回答
0

Roland 对 posix_fallocate() 的看法是正确的。顺便说一句,即使在这里的 Linux 系统(RHEL-5.7)上我也找不到 fallocate(),所以即使在 Linux 上你也真的不想依赖它的存在。

至于 splice(),似乎没有。在 FreeBSD 上最接近的是 sendfile() ——但仅当目标是socket时。

于 2013-07-22T19:48:53.260 回答