Nein es gibt einiges an das man denken muss wenn man sein 32 bit Programm auf 64 bit umstellen möchte (VS & C++):
- int und long sind unter 64-Bit-Windows-Betriebssystemen 32-Bit-Werte. In Programmen, die für 64-Bit-Plattformen kompiliert werden, sollte man darauf achten, keine Zeiger auf 32-Bit-Variablen zu verwenden. Zeiger sind auf 64-Bit-Plattformen 64-Bit-Zeiger, und der Zeigerwert wird abgeschnitten, wenn man ihn einer 32-Bit-Variable zuweisen.
- size_t, time_t und ptrdiff_t sind unter 64-Bit-Windows-Betriebssystemen 64-Bit-Werte.
- time_t ist auf 32-Bit-Windows-Betriebssystemen in Visual C++-Versionen vor Visual C++ 2005 ein 32-Bit-Wert. In Visual C++ 2005 und höheren Versionen ist time_t standardmäßig eine 64-Bit-Ganzzahl.
- Man sollte wissen, an welcher Stelle der Code einen int-Wert übernimmt und diesen als size_t-Wert oder als time_t-Wert verarbeitet. Die Zahl kann die Länge eines 32-Bit-Werts überschreiten, sodass die Daten abgeschnitten sind, wenn Sie wieder an den int-Speicher übergeben werden.
- Der printf-Modifizierer %x (hexadezimales int-Format) funktioniert auf einem 64-Bit-Windows-Betriebssystem nicht erwartungsgemäß. Er wird nur auf die ersten 32 Bits eines ihm übergebenen Werts angewendet.
Nichts was nun unlösbar wäre aber doch einiges an Zeit benötigt da es ja kein kleines Hobby Programm ist sondern mehrere Millionen Zeilen code beinhaltet.