我有一个在ubuntu下成功运行的C代码,但是当我试图在红帽PC上运行它时,它给出了"分割错误(核心转储)"错误。我已经将错误范围缩小到以下语句:
long int encryption[800000][2];
这个声明导致代码崩溃。
我能做什么?suggesstions吗?欢呼声=)
改为
static long int encryption[800000][2];
或者全局设置,或者使用malloc
或者使用ulimit -s
您遇到堆栈溢出,因为数组是在堆栈上分配的。
堆栈的大小是平台定义的,取决于线程模型和配置,以及sysctl
/ulimit
设置(以及其他?)。
使数组动态分配或静态分配('global')以防止这个