共用方式為


虛擬位址空間 (64 位 Windows 的程式設計指南)

根據預設,64 位Microsoft Windows 應用程式的使用者模式地址空間為數 TB。 如需精確的值,請參閱 Windows 和 Windows Server 版本的記憶體限制。 不過,應用程式可以指定系統應該為低於 2 GB 的應用程式配置所有記憶體。 如果下列條件成立,這項功能對64位應用程式很有説明:

  • 2 GB 位址空間已足夠。
  • 程式代碼有許多指標截斷警告。
  • 指標和整數會自由混合。
  • 程式代碼使用32位數據類型具有多型。

所有指標仍是 64 位指標,但系統會確保每個記憶體配置都低於 2 GB 的限制,因此,如果應用程式截斷指標,就不會遺失任何重大數據。 指標可以截斷為32位值,然後藉由符號延伸或零延伸來擴充至64位值。

若要指定此記憶體限制,請使用 /LARGEADDRESSAWARE:NO 連結器選項。 請注意,ARM64 二進位檔會忽略 /LARGEADDRESSAWARE:NO。 不過,請注意,使用此選項時可能會發生問題。 如果您建置使用此選項的 DLL,且未使用此選項的應用程式會呼叫 DLL,DLL 可能會截斷 64 位指標,其上層 32 位很重要。 這可能會導致應用程式失敗,而不會有任何警告。