Fragen? Antworten! Siehe auch: Alternativlos
Er hat eine gcc-Option gefunden (-mlong32), um das umzuschalten, aber sie tut nicht. Das liegt daran, dass er die Manpage falsch gelesen hat :-) Die Option ist für MIPS, nicht für x86-64. Bei gcc sind alle -m Optionen spezifisch zu der CPU-Familie, für die gcc Code erzeugt.
Nun, ist das generell eine gute Idee mit den 32-bit Zeigern? Ich bin mir nicht sicher. Einer der Vorteile von 64-bit Plattformen ist ja gerade, dass die Zeiger so groß sind. Damit bieten sich dann plötzlich Möglichkeiten, die man vorher so nicht hatte, z.B. kann man den Adressraum randomisieren, d.h. wenn man drei Shared Libraries lädt, dann landen die nicht nebeneinander im Speicher, sondern irgendwo zufällig jeweils, was dann manche Typen von Exploits deutlich schwieriger macht. Wenn man sich da auf weniger Adressraum beschränkt, schränkt man die Wirksamkeit dieser Maßnahmen stark ein.
Abgesehen davon hat er aber natürlich Recht, dass hier Performance verschenkt wird. Es ist aber nicht viel. Das hängt natürlich von der Anwendung ab, aber so im Normalfall sind es meiner Schätzung nach unter 5%.
Übrigens: Auch Knuth setzt sich mit dem Irakkrieg auseinander!