gpt4 book ai didi

linux - C++ 中的大双向量

转载 作者:太空宇宙 更新时间:2023-11-04 05:37:53 24 4
gpt4 key购买 nike

我有向量 a(8000000000);
所以 8000000000*8/1024/1024/1024=7.45Gb ,所以我需要 7.45Gb RAM 才能使我的程序具有如此大的大小才能工作,而我的计算机中有该 RAM,但它不起作用,为什么?

它可以编译,但是当我运行时,它给出错误 抛出“std::bad_alloc”实例后调用终止 什么(): std::bad_alloc中止(核心转储)

提前致谢

最佳答案

要使您的程序正常工作,必须满足以下两件事:

  • 操作系统必须是 64 位(您可能正在运行该操作系统,否则您将被限制为 3GB RAM)
  • 您的程序必须构建为 64 位应用程序,这样它才能真正处理那么多内存

对于 Windows MSVC 解决方案/项目,请确保遵循此 https://msdn.microsoft.com/en-us/library/h2k70f3s.aspx 中的步骤。设置 64 位的文章。

对于 SunOS,请遵循本文:http://www.well.com/~jax/rcfb/solaris_tips/build_gcc_3.0_64bit.html

当然,对于任何其他平台/编译器,您应该能够通过 Google 获取文档

关于linux - C++ 中的大双向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32721370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com