P1031 为 C++ 标准提供低级别文件 I/O 和文件系统库
LLFIO 使用 GitHub API 进行文档化。CTest 概述 仪表板 预构建二进制文件
这是在 2015 年 8 月经 Boost 同行评审后的全面重写。它于 2018 年提交了 C++ 标准化,但该过程于 2025 年被放弃。
其他特点: - 可移植到任何符合 C++ 17 标准的编译器,其中其 STL 中包含有效的文件系统。 - 可在全局禁用 C++ 异常和 RTTI 的情况下使用。 - 完全符合 C++ 20 标准。 - 如果您有 Coroutines、Concepts、Span、Byte 等,则会利用它们,否则会使用与 C++ 17 兼容的替代方案。 - 旨在支持 Microsoft Windows、Linux、Android、iOS、Mac OS 和 FreeBSD。 - 尽可能支持到其 EOL 的旧内核(截至 2020 年 7 月: >= Windows 8.1、>= Linux 2.6.32 (RHEL EOL)、>= Mac OS 10.13、>= FreeBSD 11)。 - 原始错误码始终保留,即使是使用 NT 内核 API 时,也保留原始的 NT 内核错误码。 - 根据 P1028 SG14 status_code 和标准错误对象 P0709 Zero-overhead 确定性异常 进行可选配置。 - 使用了无竞争的文件系统设计(即不使用 TOCTOU)。 - 使用了零 malloc、零异常抛出和零整个系统内存复制设计,即使是路径(可能达到 64 KB)。 - 全面支持 SCM/DAX 和页缓存存储的虚拟和映射内存,包括大、巨大和超大页。 - 在云端运行良好,已通过 AWS Lustre 分布式网络文件系统进行了测试。
\note 这段代码大部分都是成熟的质量,已经在生产环境中使用。
暂无开放 Issues,或尚未同步最近议题。