delphi - 使用 IMAGE_FILE_LARGE_ADDRESS_AWARE 标志有哪些副作用?

标签 delphi

在我的程序中使用 IMAGE_FILE_LARGE_ADDRESS_AWARE 标志(使用超过 2GB 的 RAM)有什么副作用?

我正在使用 Delphi 7 和 FastMM4。

最佳答案

您需要确保不使用内置内存管理器并使用可以支持>2GB地址的东西。例如FastMM。

您的代码库中可能有其他代码(通常是第 3 方代码),这些代码将与 >2GB 的地址发生冲突。我个人通过在 64 位 Windows 下运行并强制系统使用 top-down memory allocation via a registry setting 来处理此问题。 .

执行此操作时,您可能会在 Windows 中遇到一些错误。例如GetCursorPos在 Vista 上,当其参数的地址 >2GB 时会失败。我通过使用经历 GetCursorInfo 的版本修补 Windows.GetCursorPos 来解决这个问题。 。此错误在 Windows 7 中已修复,但 MS 选择不将其向后移植到 Vista。

启用自上而下的内存分配来运行是多么重要,我怎么强调都不为过。

关于delphi - 使用 IMAGE_FILE_LARGE_ADDRESS_AWARE 标志有哪些副作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4583550/

相关文章:

web-services - Delphi XE 的 SOAP 服务器和客户端应用程序 VCL+indy 演示?

delphi - 检查ini文件是否存在delphi

delphi - 使用控制台应用程序报告关闭时的内存泄漏

.net - 在 Delphi 中通过 COM 对象使用 .Net 类有时会挂起

delphi - 如何将选项卡中停靠表单的颜色设置为正确的颜色?

delphi - 检测过时的互斥体

delphi - 如何确定用户帐户是否是 AD 组的(间接)成员?

android - 获取注册的电子邮件帐户

delphi - 如何以编程方式获取网站的状态标题

delphi - 将 TDbGrid 中的一些单元格设置为可编辑