|
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 3
|
||||||
Большой массив данных и segfault14.12.2013, 09:55. Показов 1561. Ответов 10
Метки нет (Все метки)
Есть струтура ( порядка 4 uint32_t + 8 байт char )
Нужно хранить 32000 таких структур постоянно Если выделять память на куче ( т.е. хранить в массиве указатели, а память под струтуры выделять динамически через new) , то все ОК. Если же резервировать память сразу - то при запуске падает в кору. Т.е, если написать -
Gdb говорит что не может показать фрэймы 99.9% проблема в том что, "закусываем" память, но как "вылечить" что бы можно было сделать масив структур а не укзалок? Опции компиляции? Опции запуска (limit какиенибудь?) Тоже самое написаное на чистом с и скомпиленное на gcc 3.14 - все работает. Компилирую g++ версии 4.4.2 под 64 разрядный Linux Добавлено через 42 минуты Смотреть в сторону setrlimit?
0
|
||||||
| 14.12.2013, 09:55 | |
|
Ответы с готовыми решениями:
10
как разместить большой массив данных ? Как отрисовать большой массив данных |
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 14.12.2013, 10:21 | |
|
Самое правильное в данном случае - выделять память динамически - стек не резиновый.
ulimit -s <stack_size, kbytes>, но я этого не говорил.
0
|
|
|
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 3
|
|
| 14.12.2013, 14:14 [ТС] | |
|
Есть опции компиляции, которые проверяли бы что возможно будет "закусывание" стэка?
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 14.12.2013, 15:03 | |
|
Ответ в самом вопросе: на этапе компиляции нет информации о том, в каком окружении будет выполняться программа.
Чем не устраивает динамический массив?
0
|
|
|
0 / 0 / 0
Регистрация: 14.12.2013
Сообщений: 3
|
|
| 14.12.2013, 22:15 [ТС] | |
|
Динамикой и сделал - все прекрасно работает... Удивило само поведение - запросил на стэке памяти больше чем тебе могут дать - и трындец - корка готова. И проблема решилась не сразу. А если у заказчика через тот же ulimit выставят на байт меньше чем проге нужно и ищи потом проблему )
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 15.12.2013, 07:12 | ||
|
0
|
||
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|
| 19.12.2013, 13:59 | |
|
А почему бы не создать глобальный объект Test'а? Или наоборот через new? Чтобы он не в стеке оказался.
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 19.12.2013, 15:06 | ||
|
А про динамическое выделение автор сам уже отписался.
0
|
||
| 19.12.2013, 17:50 | |
|
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 19.12.2013, 18:27 | |
|
0
|
|
|
|
||
| 19.12.2013, 18:47 | ||
|
Добавлено через 44 секунды Опция -mstack-arg-probe у gcc под intel, но ту тему для самообразования можно и почитать
0
|
||
| 19.12.2013, 18:47 | |
|
Помогаю со студенческими работами здесь
11
Как можно в памяти уместить больше данных ?Большой массив или список маленьких массивов ? GC+SEGFAULT Segfault at 0 .error Segfault на ровном месте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|