正如标题所述,我在win 7 64位下运行32位应用程序。该应用程序在Embarcadero XE2中使用C ++制作。我需要2GB以上的内存。
步骤: - 我启用了3GB开关,然后重新启动了电脑。 - 我尝试将-GF:LARGEADDRESSAWARE添加到项目选项/ c ++链接器/输出标志,但随后链接失败。它说:“失败的命令GF:”或类似的东西。 然后我在论坛上发现你应该在FLAGS部分的.bpr文件中手动完成。我添加了标志,然后链接了项目。但是,应用程序中的内存可用指示器告诉我,我仍然低于2 GB。
问题: 1.如何正确地完成这项工作? 2.如何判断我是否有3GB的内存?
提前谢谢
答案 0 :(得分:4)
/3GB
开关仅适用于32位系统。您的系统是64位系统。这意味着具有LARGEADDRESSAWARE
PE标志的32位可执行文件将具有4GB的地址空间。不要尝试使用/3GB
启动选项。
您可以使用任何PE查看工具检查您的可执行文件是否设置了LARGEADDRESSAWARE
PE标记。使用MS工具链,您将使用dumpbin
。 Embarcadero工具链等效于tdump
。此外,还有无数的GUI PE观众。找到一个有效的工具,并确保您已正确设置此PE标志。