Re: integer groesser 2^31 in C
Hallo,
Am Montag, 30. Jun 2003, 16:14:47 +0200 schrieb Daniel Hofmann:
>
> Achim Fritz <fritzam@mathematik.uni-stuttgart.de> writes:
>
> > Hi,
> >
> > fuer ein Finite-Element-Programm in C, muesste ich unbedingt mehr als 2Gb
> > Speicher allokieren. Der Rechner hat 2Gb Speicher und 2Gb Swap.
> > Ich habe erst gedacht, es liegt am Kernel (CONFIG_HIGHMEM ist gesetzt),
> > habe jetzt aber festgestellt, dass es nicht moeglich ist in C eine Integer
> > zu deklarieren, die groesser als 2^31 ist.
>
> Bezüglich der Größe von Integertypen macht der C - Standard lediglich
> folgende Zusicherung:
>
> char <= short <= int <= long
Ich hab's gerade nochmal nachgeschlagen (im Stroustrup): außerdem
wird zugesichert, daß
sizeof (short) >= 16 bit
sizeof (long) >= 32 bit
ist.
>
> [...]
>
> Ob Du nun aber so große Speicherbereiche allozieren kannst, und ob
> Dein Programm das wirklich tun muß, bezweifele ich eher.
Wenn Dein Programm 2GB Speicher haben will, ist es mit großer
Wahrscheinlichkeit falsch.
Gruß
Bertram
--
Bertram Scharpf
Stuttgart, Deutschland/Germany
Reply to: