有人可以解释一下,这个O_LARGEFILE
选项究竟是为了支持打开大文件。
编译-D_FILE_OFFSET_BITS=64
标志会产生任何副作用吗?换句话说,当用这个选项编译时,我们必须确定一些东西。
答案 0 :(得分:1)
来自man 2 open
:
O_LARGEFILE
(LFS) Allow files whose sizes cannot be represented in an off_t (but can be represented in an off64_t) to be opened. The _LARGE‐
FILE64_SOURCE macro must be defined in order to obtain this definition. Setting the _FILE_OFFSET_BITS feature test macro to 64 (rather
than using O_LARGEFILE) is the preferred method of obtaining method of accessing large files on 32-bit systems (see fea‐
ture_test_macros(7)).
编辑:(即RTM:P)
答案 1 :(得分:0)
使用_FILE_OFFSET_BITS优先于O_LARGEFILE。这些用于32位系统,允许打开文件,使其超出32位文件指针的范围。
不,你不需要做任何特别的事情。如果您使用的是64位Linux,那么无论如何都没有任何区别。