Sdílet prostřednictvím


Obecné problémy 64bitového přenesení Visual C++

Pokud používáte Visual C++ pro vytváření aplikací pro spuštění v operačním systému Windows 64-bit, měli být vědomi následující problémy:

  • int a long jsou 32bitové hodnoty v operačních systémech Windows 64-bit.Pro programy, které máte v úmyslu zkompilovat pro 64bitové platformy musí být pozor, aby jim ukazatele na 32bitové proměnné.Ukazatele jsou 64bitové na 64bitové platformy a zkrátit hodnotu ukazatele, pokud přiřazujete 32bitové proměnné.

  • size_t, time_t, a ptrdiff_t jsou 64bitové hodnoty v operačních systémech Windows 64-bit.

  • time_t je hodnota 32-bit v operačních systémech Windows 32bitový ve verzi Visual C++ před Visual C++ 2005.time_t je nyní 64bitové celé číslo ve výchozím nastavení.Další informace naleznete v tématu Správa času.

    Je třeba vědět, kde váš kód přebírá int hodnotu a zpracuje ji jako size_t nebo time_t hodnotu.Je možné, že číslo může být větší než 32bitové číslo a data budou zkráceny, když je předána zpět int úložiště.

%X: (hexadecimálně int Formát) printf Modifikátor nebude fungovat dle očekávání v operačním systému 64bitová verze systému Windows.Pracují pouze na první 32 bitů hodnoty, který je předán.

  • Použijte % I32x, chcete-chcete-li zobrazit integrální typ. 32-bit v šestnáctkovém formátu.

  • % I64x slouží k zobrazení integrální typ. 64-bit v šestnáctkovém formátu.

  • %P (hexadecimálně formát pro ukazatele) bude fungovat dle očekávání v operačním systému 64bitová verze systému Windows.

Další informace naleznete v tématu:

Viz také

Další zdroje

Konfigurace aplikací pro 64bitové (Visual C++)

Přenos a upgraded programů