= Porting Howto =
(oder was muss man beachten, damit 32bit Software problemlos auf 64bit Plattformen läuft)

Das Problem wurde bei mir erstmalig aktuell, als wir SELinux auf die Alpha-Plattform übersetzen wollten. Das SELinux-Userland machte riesige Sperenzchen, und nach dem ersten Blick in den Quellcode wurde auch der Grund dafür klar.

== Grundlegende Datentypen ==

 * char, word und int sind wie auf 32bit-Plattformen definiert (8,16 und 32bit breit).
 * int ist 32bit breit
 * long ist 64bit breit
 * sämtliche Pointer sind 64bit breit, '''Pointer passen also nicht mehr in ints'''

== Compiler ==
 * Auf jeden Fall ist es empfehlenswert, auf einer 64bit Plattform zu kompilieren, dann spuckt der Compiler auch gleich die richtigen Fehler aus; 
 * Zusätzlich zu "-Wall -W" empfiehlt es sich, "-Wconversion" einzuschalten (damit werden dann sehr viele dubiose Casts angemeckert, die man sich anschauen sollte)

== Hilfreiches ==
 * Bei Umstieg auf plattformunabhängige Datentypen empfiehlt es sich, gleich auf den aktuellen C99-Standard umzusteigen und die dort definierten Typen und Prototypen zu benutzen.