__w64
This Microsoft-specific keyword is obsolete. In versions of Visual Studio earlier than Visual Studio 2013, this lets you mark variables, so that when you compile with /Wp64 the compiler will report any warnings that would be reported if you were compiling with a 64-bit compiler.
Syntax
type
__w64
identifier
Parameters
type
One of the three types that could cause problems in code being ported from a 32-bit to a 64-bit compiler: int
, long
, or a pointer.
identifier
The identifier for the variable you are creating.
Remarks
Important
The /Wp64 compiler option and __w64
keyword are deprecated in Visual Studio 2010 and Visual Studio 2013 and removed starting in Visual Studio 2013. If you use the /Wp64
compiler option on the command line, the compiler issues Command-Line Warning D9002. The __w64
keyword is silently ignored. Instead of using this option and keyword to detect 64-bit portability issues, use a Microsoft C++ compiler that targets a 64-bit platform. For more information, see Configure Visual C++ for 64-bit, x64 targets.
Any typedef that has __w64
on it must be 32 bits on x86 and 64 bits on x64.
To detect portability issues by using versions of the Microsoft C++ compiler earlier than Visual Studio 2010, the __w64
keyword should be specified on any typedefs that change size between 32 bit and 64 bit platforms. For any such type, __w64
must appear only on the 32-bit definition of the typedef.
For compatibility with previous versions, _w64 is a synonym for __w64
unless compiler option /Za (Disable language extensions) is specified.
The __w64
keyword is ignored if the compilation does not use /Wp64
.
For more information about porting to 64-bit, see the following topics:
Example
// __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
}
See also
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru