Ubuntu与Red Hat错误

时间:2011-10-26 19:52:33

标签: c ubuntu redhat

我有一个在ubuntu下成功运行的C代码,但是当我试图在红帽PC上运行它时,它会给出一个"分段错误(核心转储)"错误。我已将错误缩小为以下声明:

long int encryption[800000][2];

此声明导致代码崩溃。

我该怎么办?任何建议? 干杯=)

2 个答案:

答案 0 :(得分:3)

将其更改为

static long int encryption[800000][2];

或者将其设为全局,或使用malloc

或使用ulimit -s

答案 1 :(得分:0)

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

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

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