如标题所示,我正在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/