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: