2 xwinterwinterwinterx XwinterwinterwinterX 于 2016.04.13 18:38 提问

C++,定义大数组时出现了未知错误

错误

 ||=== Build: Debug in proj1 (compiler: GNU GCC Compiler) ===|
obj/Debug/main.o||In function `__static_initialization_and_destruction_0':|
 relocation truncated to fit||R_X86_64_32 against `.bss'|
 relocation truncated to fit||R_X86_64_32 against `.bss'|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

我的代码

 #include<iostream>
using namespace std;
int a[99999999999999];
int main()
{
    return 0;
}

6个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.13 20:46
已采纳

99999999999999*4/1024/1024/1024=372529G=363.8T
可以将数据保存在数据库中或文件中进行处理。
保存在文件的话可以一个对象保存为一行,一行一行读取并处理。

xiaobai_2511
xiaobai_2511   2016.04.13 19:17

你要那么大的数组干什么 99999999999999*4 你算算多少个字节

CSDNXIAON
CSDNXIAON   2016.04.13 18:42

函数内定义大数组出现段错误
程序中定义了大数组或需要很大栈内存时,出现stack overflow 错误的解决方法(vs2008)
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

q610098308
q610098308   2016.04.13 22:30

一个程序可分配的最大栈内存是有限制的,如果大的话可以用堆内存,但也需要判断是否能够成功。

HOLY3KILL
HOLY3KILL   2016.04.20 09:28

太大了。不过以前定义时有这么弄过
#define MAX_SIZE 10000000
int a[MAX_SIZE]


hijack00
hijack00   Rxr 2016.08.26 22:43

编译器不支持定义那么大的静态数组,如果确有需要,可以在程序中动态分配这么大的空间。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!