Udostępnij za pośrednictwem


Typowe problemy migracji 64-bitowych Visual C++

Korzystając z programu Visual C++, umożliwiając tworzenie aplikacji do uruchamiania w 64-bitowym systemie operacyjnym Windows, należy zwrócić uwagę na następujące kwestie:

  • int i long są wartości 32-bitowe w 64-bitowe systemy operacyjne Windows.Dla programów, które zamierzasz skompilować dla platformy 64-bitowej należy zachować ostrożność nie przypisać wskaźniki do 32-bitowy zmiennych.Wskaźniki są 64-bitowych na platformach 64-bitowych, a zostanie obcięta wartości wskaźnika, jeśli zostanie przypisana do zmiennej 32-bitowych.

  • size_t, time_t, i ptrdiff_t są wartości 64-bitowych w 64-bitowe systemy operacyjne Windows.

  • time_t jest to wartość 32-bitowych w systemach operacyjnych Windows 32-bitowych wersjach programu Visual C++ przed Visual C++ 2005.time_t jest teraz 64-bitowej liczby całkowitej domyślnie.Aby uzyskać więcej informacji, zobacz zarządzania czasem.

    Należy zwrócić uwagę, z którym ma kod int wartość i przetwarza je jako size_t lub time_t wartości.Możliwe, że liczba zwiększania może być większa niż liczba 32-bitowa i dane zostaną obcięte w przypadku została przekazana do int magazynu.

%X (szesnastkowy int format) printf Modyfikator nie będzie działać zgodnie z oczekiwaniami w 64-bitowym systemie operacyjnym Windows.Działa jedynie na pierwsze 32 bitów wartość, która została przekazana do niej.

  • % I32x umożliwia wyświetlenie typu integralną 32-bitowych w formacie szesnastkowych.

  • % I64x umożliwia wyświetlenie typu integralną 64-bitowych w formacie szesnastkowych.

  • %P (szesnastkowy format wskaźnik) będzie działać zgodnie z oczekiwaniami w 64-bitowym systemie operacyjnym Windows.

Aby uzyskać więcej informacji, zobacz:

Zobacz też

Inne zasoby

Konfigurowanie programów 64-bitowe (Visual C++)

Przenoszenie i uaktualnianie programów