Die 1GB Grenze ist meiner Ansicht nach irgendwie seltsam (welcher Datentyp sollte bis 2^30 gehen o_O?!). Also normal kann man mit 32Bit Registern doch immer 4GB adressieren (weil unsigned long int bis max. 2^32 geht, genau 1 32Bit Register füllt und normalerweise für Speicheradressen verwendet werden sollte).
Kann es sein, dass die 1GB nur ne Vorsichtsmasnahme sind für Programme / Programmteile, die signed long int zum adressieren benutzen, da diese nur ~2 GB ansprechen können?
Sollte das nicht übrigens bei 64 Bit Systemen mit >4GB Speicher ein kleines Problem darstellen? Wenn ich ne ganzzahlige Zählervariable für ein dynamisches char* Array in C/C++ benutzen will, wie soll ich das denn Ansprechen? Folat und Double würde mir gcc spähtestens bei einer For-Schleife um die Ohren hauen.
... Wie passend, der 2 hoch achte Beitrag lol...