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 mit Visual C++ Anwendungen erstellen, die unter einem 64-Bit-Windows-Betriebssystem ausgeführt werden sollen, sollten Sie folgende Probleme berücksichtigen:
int und long sind 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_t und ptrdiff_t sind unter 64-Bit-Windows-Betriebssystemen 64-Bit-Werte.
time_t ist unter 32-Bit-Windows-Betriebssystemen in Visual C++-Versionen vor Visual C++ 2005 ein 32-Bit-Wert.time_t ist jetzt standardmäßig eine 64-Bit-Ganzzahl.Weitere Informationen finden Sie unter Time Management (auf Englisch).
Sie müssen berücksichtigen, wo der Code einen int-Wert nimmt und als einen size_t- oder time_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 den int-Speicher übergeben werden.
Der %x-Modifzierer(Hexadezimal-int-Format) 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: