Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
To słowo kluczowe specyficzne dla firmy Microsoft jest przestarzałe. W wersjach programu Visual Studio starszych niż Visual Studio 2013 pozwala to oznaczyć zmienne, dzięki czemu podczas kompilowania za pomocą /Wp64 kompilator zgłosi wszelkie ostrzeżenia, które zostaną zgłoszone, jeśli kompilujesz z kompilatorem 64-bitowym .
Składnia
identyfikator typu
__w64
Parametry
type
Jeden z trzech typów, które mogą powodować problemy z przenoszeniem kodu z 32-bitowego do 64-bitowego kompilatora: int
, lub long
wskaźnika.
identifier
Identyfikator tworzonej zmiennej.
Uwagi
Ważne
Opcja kompilatora /Wp64 i __w64
słowo kluczowe są przestarzałe w programach Visual Studio 2010 i Visual Studio 2013 i usuwane począwszy od programu Visual Studio 2013. Jeśli używasz opcji kompilatora /Wp64
w wierszu polecenia, kompilator wystawia ostrzeżenie wiersza polecenia D9002. Słowo __w64
kluczowe jest ignorowane w trybie dyskretnym. Zamiast używać tej opcji i słowa kluczowego do wykrywania problemów z przenośnością 64-bitową, użyj kompilatora języka Microsoft C++, który jest przeznaczony dla platformy 64-bitowej. Aby uzyskać więcej informacji, zobacz Konfigurowanie języka Visual C++ dla 64-bitowych obiektów docelowych x64.
Każda definicja typu, która ma __w64
na nim, musi być 32 bity w x86 i 64 bitach na x64.
Aby wykryć problemy z przenośnością przy użyciu wersji kompilatora Microsoft C++ starszej niż Visual Studio 2010, __w64
słowo kluczowe powinno być określone na dowolnych definicjach typów, które zmieniają rozmiar między 32-bitowymi i 64-bitowymi platformami. W przypadku dowolnego takiego typu __w64
musi być wyświetlana tylko w 32-bitowej definicji typu.
Aby uzyskać zgodność z poprzednimi wersjami, _w64 jest synonimem, __w64
chyba że określono opcję kompilatora /Za (Wyłącz rozszerzenia języka).
Słowo __w64
kluczowe jest ignorowane, jeśli kompilacja nie używa polecenia /Wp64
.
Aby uzyskać więcej informacji na temat przenoszenia do wersji 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
}