__w64
(Spécifique à Microsoft) Ce mot clé est obsolète. Dans les versions de Visual Studio antérieures à Visual Studio 2013, vous pouvez ainsi marquer les variables et, quand vous compilez avec /Wp64, le compilateur indique les avertissements qui seraient signalés si vous compiliez avec un compilateur 64 bits.
type __w64 identifier
Paramètres
type
Un des trois types pouvant provoquer des problèmes dans le code porté d'un compilateur 32 bits vers un compilateur 64 bits : int, long ou un pointeur.identifier
Identificateur de la variable que vous créez.
Notes
Important
L'option de compilateur /Wp64 et le mot clé __w64 sont déconseillés dans Visual Studio 2010 et Visual Studio 2013, et supprimés depuis Visual Studio 2013.Si vous utilisez l’option de compilateur /Wp64 sur la ligne de commande, le compilateur émet un Command-Line Warning D9002.Le mot clé __w64 est ignoré en mode silencieux.Au lieu d'utiliser cette option et un mot clé pour détecter les problèmes de portabilité 64 bits, utilisez un compilateur Visual C++ qui cible une plateforme 64 bits.Pour plus d'informations, consultez Configuration des programmes pour 64 bits (Visual C++).
Tout typedef qui contient __w64 doit être 32 bits sur x86 et 64 bits sur x64.
Pour détecter les problèmes de portabilité à l'aide de versions du compilateur Visual C++ antérieures à Visual Studio 2010, le mot clé __w64 doit être spécifié sur les typedefs qui changent de taille entre les plateformes 32 bits et 64 bits. Pour un tel type, __w64 doit apparaître uniquement sur la définition 32 bits du typedef.
Le mot clé __w64 est ignoré si la compilation n'utilise pas /Wp64.
Pour plus d'informations sur le portage vers 64 bits, consultez les rubriques suivantes :
Exemple
// __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
}