【问题标题】:Windows 7 64, how do I use more than 2 GB in C++Windows 7 64,如何在 C++ 中使用超过 2 GB
【发布时间】:2014-12-05 06:36:56
【问题描述】:

我正在使用 Sublime Text 2 编写/编译/运行 C++ 代码。但是,一旦程序使用约 2 GB 内存,它就会退出。我有足够的内存。如何提高此限制?

【问题讨论】:

  • 你不能,你需要使用共享内存和映射部分进出
  • 您需要一个输出 64 位可执行文件/库的编译器。
  • 你不能在 64 位配置中构建它吗?
  • 我如何知道我的编译器是否这样做?
  • 我有:“gcc (GCC) 4.7.2”

标签: c++ memory sublimetext2 ram


【解决方案1】:

两种选择:

  • 您需要 64 位编译器。您可以使用this installer 安装一个。请注意,您也可以使用相同的安装程序安装 32 位编译器。

  • 对于 32 位应用程序:在可执行文件中设置一个位,向 Windows 发出信号,它最多可以使用 4GB 内存。为此,请将-Wl,--large-address-aware 添加到链接器命令中。这将在 32 位 Windows 上为您提供 3GB,在 64 位 Windows 上为您提供 4GB。

【讨论】:

  • @AGuy 你用了什么命令(确切地说)?请注意,这是小写字母 L(ell,字母表中的第 12 个字母)。
  • 我刚刚在 C++ 包中添加了“-Wl”,其中包含命令行参数(是的,L 较低)
  • 另外我在使用 64 位编译器的安装程序时遇到一个随机错误(没有帮助的消息——只是错误)
  • @AGuy 我不知道那是什么意思。我也收到安装程序错误,我会将其报告给邮件列表。无论如何,您都可以从here 获得 64 位工具链。只需将其解压缩并将bin 目录添加到PATH。
  • 好的,我安装了它并将bin目录添加到Path。我做 C++ --version 仍然显示 4.7.2?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
  • 2022-09-29
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-27
相关资源
最近更新 更多