Udostępnij za pośrednictwem


Typowe problemy migracji 64-bitowych Visual C++

Korzystając z programu Visual C++ do tworzenia aplikacji do uruchamiania w 64-bitowego systemu operacyjnego, należy pamiętać o następujących kwestiach:

  • int i long są wartości 32-bitowe w 64-bitowych systemach operacyjnych Windows.Dla programów, które zamierzasz skompilować dla 64-bitowych platformach należy uważać, aby nie przypisać wskaźniki do zmiennych 32-bitowych.Wskaźniki są 64-bitowych na platformach 64-bitowych, na które obcinają wartości wskaźnika, jeśli zostanie przypisana do zmiennej 32-bitowe.

  • size_t, time_t, i ptrdiff_t są wartości 64-bitowych w 64-bitowych systemach operacyjnych Windows.

  • time_tjest wartością 32-bitowych systemach operacyjnych Windows 32-bitowe wersje programu Visual C++ przed Visual C++ 2005.time_tjest teraz 64-bitowa liczba całkowita, domyślnie.Aby uzyskać więcej informacji, zobacz Zarządzanie czasem.

    Należy pamiętać, z którym ma swój kod int wartość i przetwarza go jako size_t lub time_t wartość.Istnieje możliwość, że numer może powiększyć się większa niż 32-bitową liczbą i dane zostaną obcięte, gdy to jest przekazywana z powrotem do int pamięci masowej.

%X (hex int format) printf modyfikator nie będzie działać zgodnie z oczekiwaniami na 64-bitowego systemu operacyjnego Windows.Działa jedynie na pierwsze 32 bity wartością przekazaną do niego.

  • % I32x umożliwia wyświetlanie liczby całkowitej w systemie operacyjnym Windows 32-bitowych.

  • % I64x umożliwia wyświetlanie liczby całkowitej w systemie operacyjnym Windows 64-bitowych.

  • %P (format szesnastkowy wskaźnik) będzie działać zgodnie z oczekiwaniami na 64-bitowego systemu operacyjnego Windows.

Aby uzyskać więcej informacji, zobacz:

Zobacz też

Inne zasoby

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

Przenoszenie i uaktualnianie programów