Re: Einlesen aus Datei > 2GB

Ralf Corsepius <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
On Fri, 2005-06-03 at 16:56 +0200, Christian Schneider wrote:
> Hallo!
> 
> Am Donnerstag, 2. Juni 2005 16:53 schrieb Dierk Fröhling:
> > Michael Wenger wrote:
> > > Christian Schneider schrieb am 02.06.2005 15:33 :
> > >> Wie lese ich aus Dateien > 2GB bzw. schreibe in diesen? Bei
> > >> C-Funktionen wird scheinbar nur ein long zur Positionierung
> > >> verwendet, also ist da auch bei 2GB Schluss?
> > >
> > > Das hängt extrem vom verwendeten Compiler ab. Ab g++ 3.4 sollte es
> > > mit
> > >
> > > C++ möglich sein. Auf [1] steht zumindest dies:
> > > | Large File Support (files larger than 2 GB on 32-bit systems).
> 
> Werde mal einen neueren installieren.
> 
> > > Für den gcc gibt es Compilerflags:
> > > -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> 
> Die muss ich bei gcc >= 3.4 mit angeben?

>  Wo ist sowas dokumentiert
z.B. in /usr/include/features.h

>  (auf gcc.gnu.org findet sich dazu nichts)?
Es ist ein glibc-Feature und ein Kernel-Feature, mit dem GCC nur sehr
entfernt etwas zu tun.

Durch die defines teilst du der GLIBC über den Compiler mit, dass davon
ausgegangen wird, dass der Kernel "large files" (>2GB) unterstützt.

> > > [1] http://gcc.gnu.org/gcc-3.4/changes.html
> >
> > Außerdem könnte es am Filesystem liegen. ext2 hatte früher z.B. ein
> > 2GB-Limit...
Sehr lange ist's her.

> Nein, das spielt mit. Die Datei ist schon vorhanden und liegt auf einem 
> recht neuen (= jünger als 2 Jahre) ext3 Dateisystem.
Auf den Kernel kommt es an ...

Bei SuSE gab es da mal eine "4GB"-Kernel o.ä.

Ralf



-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.