Condividi tramite


__w64

(Specifico per Microsoft) Questa parola chiave è obsoleta. Nelle versioni di Visual Studio precedenti a Visual Studio 2013, consente di contrassegnare le variabili, in modo che durante la compilazione con /Wp64 il compilatore indichi eventuali avvisi che verranno segnalati se si usa un compilatore a 64 bit.

        type __w64 identifier

Parametri

  • type
    Uno dei tre tipi che potrebbe provocare problemi nel codice trasferito da un compilatore a 32 bit a uno a 64 bit è int, long oppure un puntatore.

  • identifier
    Identificatore per la variabile in fase di creazione.

Note

Importante

L'opzione del compilatore /Wp64 e la parola chiave __w64 sono deprecate in Visual Studio 2010 e Visual Studio 2013 e sono state rimosse a partire da Visual Studio 2013.Se si usa l'opzione del compilatore /Wp64 nella riga di comando, il compilatore rilascia Command-Line Warning D9002.La parola chiave __w64 viene ignorata automaticamente.Anziché usare questa opzione e parola chiave per rilevare i problemi della portabilità a 64 bit, usare un compilatore di Visual C++ che ha come destinazione una piattaforma a 64 bit.Per altre informazioni, vedere Programmi di configurazione per 64 bit (Visual C++).

Qualsiasi typedef con __w64 deve essere a 32 bit su computer x86 e a 64 bit su computer x64.

Per rilevare problemi di portabilità usando versioni del compilatore Visual C++ precedenti a Visual Studio 2010, la parola chiave __w64 deve essere specificata in tutti i typedef che cambiano dimensione tra le piattaforme a 32 e a 64 bit. Per tali tipi, __w64 deve apparire solo nella definizione a 32 bit di typedef.

La parola chiave __w64 viene ignorata se la compilazione non usa /Wp64.

Per altre informazioni sulla portabilità a 64 bit, vedere i seguenti argomenti:

Esempio

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

Vedere anche

Riferimenti

Parole chiave C++