1
我的问题如下:尽管此代码是确定赛格故障
#include <stdio.h>
int main(void) {
double array[128][128][128];
printf("done");
return 1;
}
:
此代码返回一个赛格故障(核心转储)
#include <stdio.h>
double array[128][128][128];
int main(void) {
printf("done");
return 1;
}
当然是内存问题,因为如果我把主要功能放在声明里面:
float array[127][128][128];
该代码运行良好。另一方面,如果我使用“malloc”在主函数内部分配多维数据集,代码也可以正常工作。 我无法理解这个原因。有一个简单的解释?
感谢
我怀疑这是操作系统,而是编译器设置。可能有一个编译器(或链接器)开关允许更大的堆栈。 –