Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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