8.1.1 Supporto per file di grandi dimensioni

Alcuni sistemi operativi(inclusi AIX, HPUX, Irix e Solaris) forniscono supporto per file che sono più grandi di 2 Gb da un modello di programmazione C dove gli int ed i long sono valori di 32 bit. Questo viene in genere compiuto definendo la dimensione e l'offset rilevante dei tipi come valori a 64-bit. Questi file vengono a volte chiamati large fileslarge files.

Il supporto per i file di grandi dimensioni viene abilitato in Python quando la dimensione di un off_t è più grande di un long ed è disponibile il tipo long long grande almeno come un off_t. I long del Python vengono quindi usati per rappresentare le dimensioni del file, così come gli offsets ed altri valori che possono eccedere la portata di un int del Python. Potrebbe essere necessario configurare e compilare Python con talune opzioni nel compilatore che abilitino questa modalità. Per esempio, viene abilitato come predefinito nella recente versione di Irix, ma con Solaris 2.6 e 2.7 avrete bisogno di qualcosa del tipo:

CFLAGS="`getconf LFS_CFLAGS`" OPT="-g -O2 $CFLAGS" \
        ./configure

Su sistemi Linux con capacità di gestione dei file di grandi dimensioni, questo dovrebbe funzionare:

CFLAGS='-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64' OPT="-g -O2 $CFLAGS" \
        ./configure

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.