Partilhar via


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

Consulte também

Referência

Palavras-chave C++