使用/ 3gb交换机(-GF LARGEADDRESSAWARE)在Win 7 64bit下运行32位Borland XE2应用程序?

时间:2016-01-28 15:36:22

标签: c++ windows memory delphi-xe2 c++builder-xe2

正如标题所述,我在win 7 64位下运行32位应用程序。该应用程序在Embarcadero XE2中使用C ++制作。我需要2GB以上的内存。

步骤: - 我启用了3GB开关,然后重新启动了电脑。 - 我尝试将-GF:LARGEADDRESSAWARE添加到项目选项/ c ++链接器/输出标志,但随后链接失败。它说:“失败的命令GF:”或类似的东西。 然后我在论坛上发现你应该在FLAGS部分的.bpr文件中手动完成。我添加了标志,然后链接了项目。但是,应用程序中的内存可用指示器告诉我,我仍然低于2 GB。

问题: 1.如何正确地完成这项工作? 2.如何判断我是否有3GB的内存?

提前谢谢

1 个答案:

答案 0 :(得分:4)

/3GB开关仅适用于32位系统。您的系统是64位系统。这意味着具有LARGEADDRESSAWARE PE标志的32位可执行文件将具有4GB的地址空间。不要尝试使用/3GB启动选项。

您可以使用任何PE查看工具检查您的可执行文件是否设置了LARGEADDRESSAWARE PE标记。使用MS工具链,您将使用dumpbin。 Embarcadero工具链等效于tdump。此外,还有无数的GUI PE观众。找到一个有效的工具,并确保您已正确设置此PE标志。