Udostępnij za pośrednictwem


__w64

(Specyficzne dla firmy Microsoft) Słowo kluczowe jest przestarzała.W wersjach programu Visual Studio starszych niż program Visual Studio 2013 w ten sposób można oznaczyć zmienne, tak, aby podczas kompilacji z /Wp64 kompilator zgłosi ostrzeżenia, które zostałyby zgłoszone jeśli zostały kompilacji z kompilatora 64-bitowych.

type __w64 identifier

Parametry

  • type
    Jeden z trzech typów, które mogą powodować problemy w kodzie jest migrowana z 32-bitowej do 64-bitowy kompilator: int, long, lub wskaźnik.

  • identifier
    Identyfikator dla tworzonego zmiennej.

Uwagi

Ważna uwagaWażne

/Wp64 opcję kompilatora i __w64 słowo kluczowe są przestarzałe w programie Visual Studio 2010 i Visual Studio 2013 i usunięte, począwszy od programu Visual Studio 2013.Jeśli użyjesz /Wp64 opcję kompilatora w wierszu polecenia problemy kompilatora D9002 ostrzeżenie wiersza polecenia.__w64 Słowo kluczowe trybie dyskretnym jest ignorowana.Zamiast użycia tej opcji i słowo kluczowe do wykrywania problemów z 64-bitowych przenoszenia, użyj kompilatora Visual C++, który jest przeznaczony dla platformy 64-bitowej.Aby uzyskać więcej informacji, zobacz Konfigurowanie programów 64-bitowe (Visual C++).

Wszelkie typedef, który ma __w64 na musi być 32 bity na x 86 i 64 bitów x 64.

Aby wykrywać problemy przenoszenia przy użyciu wersjach starszych niż program Visual Studio 2010, kompilator Visual C++ __w64 słowo kluczowe powinny być określone w dowolnej definicje typów, które zmiana rozmiaru między 32-bitowych i 64-bitowej platformy.Dla każdego typu __w64 musi znajdować się tylko na definicji 32-bitowy typedef.

__w64 Słowo kluczowe jest ignorowany, jeśli nie są używane w kompilacji /Wp64.

Aby uzyskać więcej informacji na temat Przenoszenie do 64-bitowej zobacz następujące tematy:

Przykład

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

Zobacz też

Informacje

Słowa kluczowe języka C++