Delphi XE2 / 64bit目标地址可以是1TB的内存?

时间:2013-11-27 03:28:27

标签: delphi 64-bit windows-server-2008 delphi-xe2 fastmm

Delphi / FastMM可以解决与操作系统规范相同的问题吗? http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx

我刚遇到一位客户问我,我的软件是否可以访问一个太字节(Windows 2008服务器),这让我感到疑惑。

1 个答案:

答案 0 :(得分:6)

Delphi使用64位指针发出代码。这样的指针能够寻址2个 64 字节,即大于1TB。操作系统的虚拟内存设计和/或许可强加了任何限制,Delphi编译器对此类限制一无所知。在运行时,系统会强制执行内存限制,您的代码将受到这些限制。但是Delphi本身没有寻址限制。

同样,FastMM没有1TB限制的概念。当系统报告内存耗尽时,FastMM将报告内存不足错误。

  

Delphi / FastMM可以解决与之相同的问题   OS的规格?


一边说。使用Borland内存管理器的旧版32位Delphi版本与2GB-4GB范围内的地址不兼容。如果在标记为大地址识别的过程中执行此类Delphi代码,则会出现此问题。

我提到这一点是为了说明您的开发工具如何超出操作系统的限制。现在,64位Delphi没有这样的问题,但你提出的问题是非常有效的。