Partager via


__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
}

Voir aussi

Référence

Mots clés C++