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.
Dieses Microsoft-spezifische Schlüsselwort ist veraltet. In älteren Versionen als Visual Studio 2013 können Sie damit Variablen markieren, sodass der Compiler beim Kompilieren mit /Wp64 alle Warnungen ausgibt, die gemeldet worden wären, wenn Sie mit einem 64-Bit-Compiler kompiliert hätten.
Syntax
Typbezeichner
__w64
Parameter
type
Einer der drei Typen, der möglicherweise Probleme im Code verursachen könnte, der von einem 32-Bit- auf einen 64-Bit-Compiler portiert wird: int, long oder ein Zeiger.
identifier
Der Bezeichner für die Variable, die Sie erstellen.
Hinweise
Wichtig
Die /Wp64 Compileroption und das __w64-Schlüsselwort sind in Visual Studio 2010 und Visual Studio 2013 veraltet und werden ab Visual Studio 2013 entfernt. Wenn Sie die /Wp64-Compileroption in der Befehlszeile verwenden, gibt der Compiler eine Befehlszeilenwarnung D9002 aus. Das __w64-Schlüsselwort wird stillschweigend ignoriert. Verwenden Sie statt dieser Option und dieses Schlüsselworts zum Ermitteln von 64-Bit-Portabilitätsproblemen einen Microsoft C++-Compiler, der für eine 64-Bit-Plattform konzipiert ist. Weitere Informationen finden Sie unter Konfigurieren von Visual C++ für 64-Bit-, x64-Ziele.
Jede Typedefinition, die __w64 aufweist, muss sich auf x86 mit 32 Bit und auf x64 mit 64 Bit befinden.
Um Portabilitätsprobleme mit Versionen von Microsoft C++-Compiler vor Visual Studio 2010 zu erkennen, sollte das __w64-Schlüsselwort bei allen Typendefinitionen angegeben werden, bei denen sich die Größe zwischen 32-Bit und 64-Bit-Plattformen ändert. Für einen solchen Typ muss __w64 nur in der 32-Bit-Definition der Typendefinition enthalten sein.
Aus Gründen der Kompatibilität mit früheren Versionen ist _w64 ein Synonym für __w64, es sei denn, die Compileroption /Za (Spracherweiterungen deaktivieren) ist angegeben.
Das __w64-Schlüsselwort wird ignoriert, wenn die Kompilierung nicht /Wp64 verwendet.
Weitere Informationen zum Portieren auf 64 Bit finden Sie unter den folgenden Themen:
Beispiel
// __w64.cpp
// compile with: /W3 /Wp64
typedef int Int_32;
#ifdef _WIN64
typedef __int64 Int_Native;
#else
typedef int __w64 Int_Native;
#endif
int main() {
Int_32 i0 = 5;
Int_Native i1 = 10;
i0 = i1; // C4244 64-bit int assigned to 32-bit int
// char __w64 c; error, cannot use __w64 on char
}