Ошибки Ubuntu против Red Hat - PullRequest
       12

Ошибки Ubuntu против Red Hat

1 голос
/ 26 октября 2011

У меня есть код на C, который успешно работает под Ubuntu, но когда я пытаюсь запустить его на компьютере Red Hat, он выдает ошибку «Ошибка сегментации (core dumped)». Я сузил ошибку до следующего утверждения:

long int encryption[800000][2];

это объявление вызывает сбой кода.

Что я могу сделать? Есть предложения? ура =)

Ответы [ 2 ]

3 голосов
/ 26 октября 2011

Измените его на

static long int encryption[800000][2];

Или сделайте его глобальным, или используйте malloc.

Или используйте ulimit -s.

0 голосов
/ 27 октября 2011

Вы испытываете переполнение стека, поскольку массив расположен в стеке.

Размер стека определяется платформой, зависит от модели и конфигурации потоков, а также от настроек sysctl / ulimit (среди прочих?).

Сделать массив динамически или статически («глобально»), чтобы предотвратить это

...