如果我只想写一个大文件 (O_WRONLY
) 或附加到一个大文件 (O_APPEND | O_WRONLY),是否需要
)?O_LARGEFILE
标志
从我在 CLucene-dev 邮件列表上读到的标题为“Cannot write >2gb index file”的帖子中,似乎 O_LARGEFILE
可能需要写入大文件,但该讨论的参与者正在使用 O_RDWR
,不是O_WRONLY
,所以我不确定。
最佳答案
O_LARGEFILE
不应直接由应用程序使用。当 libc 中的 64 位偏移兼容版本的 open
对内核进行系统调用时(Linux,或者可能是具有此 64 位偏移模式的另一个内核),它将在内部使用它-是二等公民废话)。只需确保始终在您的 CFLAGS
中包含 -D_FILE_OFFSET_BITS=64
,您就永远不必担心任何事情。
关于c - 只需要写一个大文件就需要 O_LARGEFILE 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888425/