C语言 Ubuntu vs.红帽错误



我有一个在ubuntu下成功运行的C代码,但是当我试图在红帽PC上运行它时,它给出了"分割错误(核心转储)"错误。我已经将错误范围缩小到以下语句:

long int encryption[800000][2];

这个声明导致代码崩溃。

我能做什么?suggesstions吗?欢呼声=)

改为

static long int encryption[800000][2];

或者全局设置,或者使用malloc

或者使用ulimit -s

您遇到堆栈溢出,因为数组是在堆栈上分配的。

堆栈的大小是平台定义的,取决于线程模型和配置,以及sysctl/ulimit设置(以及其他?)。

使数组动态分配或静态分配('global')以防止这个

最新更新