【发布时间】:2020-05-09 20:16:39
【问题描述】:
以下问题: How to quickly create large files in C?
我记得 4-5 年前,我能够在 Linux 中使用fallocate shell 实用程序来创建没有孔/间隙的文件。
磁盘文件系统是 ext3、ext4 或 xfs。
当时,fallocate shell 实用程序在不到一秒的时间内创建了 8 GB 的文件。我不记得文件是全零还是随机的。
我现在尝试复制这个,但它似乎创建了带有孔/间隙的文件。
我想知道这是如何用C 语言完成的?
- 某些仅适用于 Linux 的内核调用?
- 某些内核调用在规范中有错误,后来被修复了?
- 某些内核调用不再可用?
【问题讨论】:
-
fallocate 需要文件系统支持
标签: c linux filesystems large-files fallocate