Il existe quelque chose comme __w64 dans Visual C++ 9. Je suis tombé dessus tout en essayant de porter ma DLL C++ native à 64 bits. En particulier dans crtdefs.h
il y a ce joli bout:Comment utiliser _W64 et __w64 dans VC++?
#if !defined(_W64)
#if !defined(__midl) && (defined(_X86_) || defined (_M_IX86)) && _MSC_VER >= 1300
#define _W64 __w64
#else
#define _W64
#endif
#endif
qui, si je reçois cela implique juste que pour 64 bits _W64 est défini comme une chaîne vide et n'a pas d'effet, mais pour 32 bits, il est défini comme __w64
.
J'ai essayé de définir _W64 comme une chaîne vide et __w64
à tour de rôle et au moins les deux fois le projet compile bien en configuration 64 bits.
Cela dit à la fois _W64
et __w64
semblent inutiles. Comment ai-je l'intention de les utiliser et comment dois-je définir _W64
dans les projets 64 bits?