__w64
Cette mot clé spécifique à Microsoft est obsolète. Dans les versions de Visual Studio antérieures à Visual Studio 2013, cela vous permet de marquer des variables, de sorte que lorsque vous compilez avec /Wp64 , le compilateur signale tous les avertissements qui seraient signalés si vous compilez avec un compilateur 64 bits.
Syntaxe
identificateur de type
__w64
Paramètres
type
L’un des trois types susceptibles de provoquer des problèmes dans le code en cours de portage 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 du compilateur /Wp64 et __w64
les mot clé sont déconseillées dans Visual Studio 2010 et Visual Studio 2013 et supprimées à partir de Visual Studio 2013. Si vous utilisez l’option /Wp64
du compilateur sur la ligne de commande, le compilateur émet l’avertissement de ligne de commande D9002. La __w64
mot clé est ignorée silencieusement. Au lieu d’utiliser cette option et mot clé pour détecter les problèmes de portabilité 64 bits, utilisez un compilateur Microsoft C++ qui cible une plateforme 64 bits. Pour plus d’informations, consultez Configurer Visual C++ pour les cibles x64 bits.
Tout typedef qui a __w64
dessus doit être de 32 bits sur x86 et 64 bits sur x64.
Pour détecter les problèmes de portabilité à l’aide des versions du compilateur Microsoft C++ antérieures à Visual Studio 2010, la __w64
mot clé doit être spécifiée sur tous les typesdefs qui changent de taille entre les plateformes 32 bits et 64 bits. Pour tout type de ce type, __w64
doit apparaître uniquement sur la définition 32 bits du typedef.
Pour la compatibilité avec les versions précédentes, _w64 est un synonyme de __w64
l’option du compilateur /Za (Désactiver les extensions de langage) spécifiée.
La __w64
mot clé est ignorée si la compilation n’utilise /Wp64
pas .
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour