Virtuális címtér (64 bites Windows programozási útmutató)
Alapértelmezés szerint a 64 bites Microsoft Windows-alapú alkalmazások több terabájtos felhasználói módú címtérrel rendelkeznek. A pontos értékekért lásd Windows- és Windows Server-kiadások memóriakorlátjait. Az alkalmazások azonban megadhatja, hogy a rendszernek 2 gigabájt alatt kell lefoglalnia az alkalmazás összes memóriáját. Ez a funkció 64 bites alkalmazások esetében előnyös, ha az alábbi feltételek teljesülnek:
- A 2 GB-os címtér elegendő.
- A kódhoz számos csonkítási figyelmeztetés tartozik.
- A mutatók és az egész számok szabadon vegyesek.
- A kód 32 bites adattípusokat használó polimorfizmussal rendelkezik.
Az összes mutató továbbra is 64 bites mutató, de a rendszer biztosítja, hogy minden memóriafoglalás a 2 GB-os korlát alatt történjen, így ha az alkalmazás csonkít egy mutatót, nem vesznek el jelentős adatok. A mutatók 32 bites értékekre csonkíthatók, majd 64 bitesre bővíthetők jelkiterjesztéssel vagy nulla kiterjesztéssel.
A memóriakorlátozás megadásához használja a /LARGEADDRESSAWARE:NO linker lehetőséget. Vegye figyelembe, hogy a /LARGEADDRESSAWARE:NO arm64 bináris fájl esetén a rendszer figyelmen kívül hagyja. Vegye figyelembe azonban, hogy a beállítás használatakor problémák léphetnek fel. Ha létrehoz egy DLL-t, amely ezt a lehetőséget használja, és a DLL-t egy olyan alkalmazás hívja meg, amely nem használja ezt a beállítást, a DLL csonkíthat egy 64 bites mutatót, amelynek felső 32 bitje jelentős. Ez figyelmeztetés nélkül alkalmazáshibát okozhat.