
daniel trebbin
Es el O_LARGEFILE
indicador necesario si todo lo que quiero hacer es escribir un archivo grande (O_WRONLY
) o agregar a un archivo grande (O_APPEND | O_WRONLY
)?
De un hilo que leí titulado “No se puede escribir un archivo de índice de más de 2 gb” en la lista de correo de CLucene-dev, parece que O_LARGEFILE
podría ser necesario para escribir archivos grandes, pero los participantes en esa discusión están usando O_RDWR
no O_WRONLY
así que no estoy seguro.
O_LARGEFILE
nunca debe ser utilizado directamente por las aplicaciones. Debe ser utilizado internamente por la versión compatible con desplazamiento de 64 bits de open
en libc cuando hace la llamada del sistema al kernel (Linux, o posiblemente otro kernel con esta tontería de 64-bit-offset-mode-is-a-second-class-citizen). Solo asegúrate de incluir siempre -D_FILE_OFFSET_BITS=64
en tus CFLAGS
y nunca tendrás que preocuparte por nada.

codimanix
IIRC si lo haces
#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64
antes de que todos los demás incluyan, no necesita pasar esta bandera.
ver adicionalmente