Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie den Microsoft C++-Compiler (MSVC) zum Erstellen von Anwendungen verwenden, die auf einem 64-Bit-Windows-Betriebssystem ausgeführt werden sollen, sollten Sie sich die folgenden Probleme bewusst sein:
intundlongsind unter 64-Bit-Windows-Betriebssystemen 32-Bit-Werte. Bei Programmen, die Sie für 64-Bit-Plattformen kompilieren möchten, sollten Sie darauf achten, keine Zeiger auf 32-Bit-Variablen zuzuweisen. Zeiger sind auf 64-Bit-Plattformen 64-Bit-Werte, und der Zeigerwert wird abgeschnitten, wenn Sie sie einer 32-Bit-Variable zuweisen.size_t,time_tundptrdiff_tsind unter 64-Bit-Windows-Betriebssystemen 64-Bit-Werte.time_tist ein 32-Bit-Wert unter 32-Bit-Windows-Betriebssystemen in Visual Studio 2005 und früheren Versionen.time_tist jetzt standardmäßig eine 64-Bit-Ganzzahl. Weitere Informationen finden Sie unter Zeitmanagement.Sie müssen wissen, wo der Code einen
int-Wert akzeptiert und alssize_t- odertime_t-Wert verarbeitet. Die Zahl kann unter Umständen größer als eine 32-Bit-Zahl werden, und Daten werden abgeschnitten, wenn sie wieder an denint-Speicher übergeben werden.
Der %x-Modifzierer (int-Hexadezimalformat) printf funktioniert unter einem 64-Bit-Windows-Betriebssystem nicht wie erwartet. Er funktioniert nur auf den ersten 32 Bits des Werts, der an ihn übergeben wird.
Verwenden Sie %I32x, um einen 32-Bit-Ganzzahltyp im Hexadezimalformat anzuzeigen.
Verwenden Sie %I64x, um einen 64-Bit-Ganzzahltyp im Hexadezimalformat anzuzeigen.
%p (Hexadezimalformat für einen Zeiger) funktioniert unter einem 64-Bit-Windows-Betriebssystem wie erwartet.
Weitere Informationen finden Sie unter:
Siehe auch
Konfigurieren von C++-Projekten für 64-Bit-x64-Ziele
Microsoft C++-Portierungs- und Upgradehandbuch