问题描述
- 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; }
解决方案
99999999999999*4/1024/1024/1024=372529G=363.8T
可以将数据保存在数据库中或文件中进行处理。
保存在文件的话可以一个对象保存为一行,一行一行读取并处理。
解决方案二:
你要那么大的数组干什么 99999999999999*4 你算算多少个字节
解决方案三:
函数内定义大数组出现段错误
程序中定义了大数组或需要很大栈内存时,出现stack overflow 错误的解决方法(vs2008)
解决方案四:
一个程序可分配的最大栈内存是有限制的,如果大的话可以用堆内存,但也需要判断是否能够成功。
解决方案五:
太大了。不过以前定义时有这么弄过
#define MAX_SIZE 10000000
int a[MAX_SIZE]
时间: 2024-09-19 23:56:06