0

我有一个应用程序,它是用 32 位编译的,因为我们有一些客户仍然使用 32 位。

我们知道我们可以使用的 RAM 有 2GB 的限制。

最近有人告诉我,我们可以标记 exe 应用程序以将此空间增加到 3GB,这可以在我们的可执行文件上使用以下命令来完成:

Editbin /LARGEADDRESSAWARE (LAA)

我还发现了一些关于/3GB必须在 boot.ini 文件中设置的信息。

我的问题是:

  • /3GB在 64 位操作系统上是必需的吗?
  • 如果我们在 32 位操作系统上,没有/3GB交换机,应用程序启用了 LAA,会发生什么?我们只能使用2GB吗?我们会有应用程序崩溃吗?
  • 这对 64 位操作系统有影响吗?
4

1 回答 1

3

是我们可以使用的 2GB RAM 的限制

它与 RAM 无关,一个 32 位进程有 2 GB 的地址空间。如何使用它取决于您的程序,内存映射文件是超出 2 GB 寻址限制的标准技术。

在 64 位操作系统上需要这个 /3GB 吗?

它在 64 位操作系统上不受支持。32 位操作系统也不再支持它,现代视频适配器吞噬了太多的地址空间,无法为操作系统留出足够的空间。

如果我们在 32 位操作系统上会发生什么

什么也没有发生,您仍然有 2 GB 的地址空间。如果这还不足以完成工作,那么您需要认真考虑更改您的系统要求。仍然容纳在过去十年中停滞不前的客户已经没有什么意义了,64 位操作系统是今天的常态。

在 64OS 上这有什么影响吗?

是的,您将获得 4 GB 的地址空间。操作系统不再碍事。

于 2014-07-03T11:28:18.627 回答