__w64
(Específico da Microsoft) Essa palavra-chave é obsoleto. Em versões anteriores ao Visual Studio 2013 do Visual Studio, isso lhe permite marcar variáveis, para que quando você compila com /Wp64 o compilador relatará todos os avisos que seriam relatados se você estivesse compilando com um compilador de 64 bits.
type __w64 identifier
Parâmetros
type
Um dos três tipos que podem causar problemas no código que está sendo transportado de 32 bits para um compilador de 64 bits: int, long, ou um ponteiro.identifier
O identificador da variável que você está criando.
Comentários
Importante
O /Wp64 opção de compilador e __w64 palavra-chave são preteridos no Visual Studio 2010 e o Visual Studio 2013 e removida a partir do Visual Studio 2013.Se você usar o /Wp64 opção de compilador na linha de comando, o compilador emitirá D9002 de aviso de linha de comando.O __w64 palavra-chave será ignorado silenciosamente.Em vez de usar essa opção e palavra-chave para detectar problemas de portabilidade de 64 bits, use um compilador do Visual C++ voltado para uma plataforma de 64 bits.Para obter mais informações, consulte Configurar programas para 64 bits (Visual C++).
Qualquer typedef que tenha __w64 deve ser de 32 bits em x86 e 64 bits em x64.
Para detectar problemas de portabilidade usando versões do compilador do Visual C++ anteriores ao Visual Studio 2010, o __w64 palavra-chave deve ser especificado em todos os typedefs que mudam de tamanho entre plataformas de 64 bits e 32 bits. Para esse tipo, __w64 deve aparecer somente na definição de 32 bits do typedef.
A palavra-chave __w64 será ignorada se a compilação não usar /Wp64.
Para obter mais informações sobre portabilidade para 64 bits, consulte os tópicos a seguir:
Exemplo
// __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
}