Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du använder Microsoft C++-kompilatorn (MSVC) för att skapa program som ska köras på ett 64-bitars Windows-operativsystem bör du vara medveten om följande problem:
En
intoch enlongär 32-bitarsvärden på 64-bitars Windows-operativsystem. För program som du planerar att kompilera för 64-bitarsplattformar bör du vara noga med att inte tilldela pekare till 32-bitarsvariabler. Pekare är 64-bitars på 64-bitarsplattformar och du trunkerar pekarvärdet om du tilldelar det till en 32-bitarsvariabel.size_t,time_tochptrdiff_tär 64-bitarsvärden på 64-bitars Windows-operativsystem.time_tär ett 32-bitarsvärde på 32-bitars Windows-operativsystem i Visual Studio 2005 och tidigare.time_tär nu ett 64-bitars heltal som standard. Mer information finns i Tidshantering.Du bör vara medveten om var koden tar ett
intvärde och bearbetar den som ettsize_tellertime_t-värde. Det är möjligt att talet kan bli större än ett 32-bitars tal och att data trunkeras när de skickas tillbaka till lagringenint.
Modifieraren %x (hexformat int ) printf fungerar inte som förväntat på ett 64-bitars Windows-operativsystem. Den fungerar bara på de första 32 bitarna av det värde som skickas till den.
Använd %I32x för att visa en 32-bitars integraltyp i hexformat.
Använd %I64x för att visa en 64-bitars integraltyp i hexformat.
%p (hexformat för en pekare) fungerar som förväntat på ett 64-bitars Windows-operativsystem.
Mer information finns i:
Se även
Konfigurera C++-projekt för 64-bitars x64-mål
Visual C++ Porting and Upgrading Guide