运行 Win 7 64 位下带有 /3gb 开关的 32 位 Borland XE2 应用程序 (-GF LARGEADDRESSAWARE)?
Running 32bit Borland XE2 app under Win 7 64bit with /3gb switch (-GF LARGEADDRESSAWARE )?
正如标题所说,我是运行win 7 64位下的32位应用。该应用程序是在 Embarcadero XE2 中用 C++ 编写的。我需要2GB以上的内存。
步骤:
- 我启用了 3GB 开关并重新启动了电脑。
- 我尝试将
-GF: LARGEADDRESSAWARE
添加到项目 options/c++ linker/Output 标志,但随后链接失败。它说:“失败的命令 GF:”或类似的东西。
然后我在论坛上发现您应该在 FLAGS 部分下的 .bpr 文件中手动执行此操作。我添加了标志,然后链接了项目。但是,应用程序中的可用内存指示器告诉我,我的内存仍然不足 2 GB。
问题:
- 如何正确地进行这项工作?
- 如何判断我是否有 3GB 内存?
/3GB
开关仅适用于 32 位系统。您的系统是 64 位系统。这意味着带有 LARGEADDRESSAWARE
PE 标志的 32 位可执行文件将具有 4GB 地址 space。不要尝试使用 /3GB
引导选项。
您可以使用任何 PE 查看工具检查您的可执行文件是否设置了 LARGEADDRESSAWARE
PE 标志。对于 MS 工具链,您将使用 dumpbin
。 Embarcadero 工具链等效项是 tdump
。此外,还有无数的 GUI PE 查看器。找到一个有效的工具并确保您已正确设置此 PE 标志。
正如标题所说,我是运行win 7 64位下的32位应用。该应用程序是在 Embarcadero XE2 中用 C++ 编写的。我需要2GB以上的内存。
步骤:
- 我启用了 3GB 开关并重新启动了电脑。
- 我尝试将
-GF: LARGEADDRESSAWARE
添加到项目 options/c++ linker/Output 标志,但随后链接失败。它说:“失败的命令 GF:”或类似的东西。
然后我在论坛上发现您应该在 FLAGS 部分下的 .bpr 文件中手动执行此操作。我添加了标志,然后链接了项目。但是,应用程序中的可用内存指示器告诉我,我的内存仍然不足 2 GB。
问题:
- 如何正确地进行这项工作?
- 如何判断我是否有 3GB 内存?
/3GB
开关仅适用于 32 位系统。您的系统是 64 位系统。这意味着带有 LARGEADDRESSAWARE
PE 标志的 32 位可执行文件将具有 4GB 地址 space。不要尝试使用 /3GB
引导选项。
您可以使用任何 PE 查看工具检查您的可执行文件是否设置了 LARGEADDRESSAWARE
PE 标志。对于 MS 工具链,您将使用 dumpbin
。 Embarcadero 工具链等效项是 tdump
。此外,还有无数的 GUI PE 查看器。找到一个有效的工具并确保您已正确设置此 PE 标志。