如标题所示,我正在win 7 64位下运行32位应用程序。该应用程序是在Embarcadero XE2中以C++编写的。我需要超过2GB的内存。

脚步:
-我启用了3GB开关,然后重新启动了PC。
-我尝试将-GF:LARGEADDRESSAWARE添加到项目选项/c++链接器/输出标志,但是链接失败。它说:“GF命令失败:”或类似的内容。
然后,我在一个论坛上发现您应该在FLAGS部分下的.bpr文件中手动进行此操作。我添加了标志,然后将项目链接了。但是,应用程序中的可用内存指示器告诉我,我的内存仍不足2 GB。

问题:
1.如何正确进行这项工作?
2.如何判断我是否有3gb的内存?

先感谢您

最佳答案

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

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

关于c++ - 在Win 7 64bit下使用/3gb开关(-GF LARGEADDRESSAWARE)运行32bit Borland XE2应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35065681/

10-09 09:08