Падает программа (сигналы и слоты), непонятное исключение |
Здравствуйте, гость ( Вход | Регистрация )
Падает программа (сигналы и слоты), непонятное исключение |
medhaid |
17.1.2012, 22:33
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 13.1.2012 Пользователь №: 3130 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте,
В этот раз сам разобраться не смог.... написал небольшой пример использования сигналов и слотов.... в нём создаются элементы, и каждый последующий следит за преведущим, если последний созданный элемент удалить, то по цепочке удаляться все остальные
при количестве объектов меньше 233 всё работает нормально, если свыше то программа вылетает ссылаясь на какой-то асемблеровский файл chkstk.asm с чем это связано???) |
|
|
Iron Bug |
17.1.2012, 23:37
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
chkstk.asm - проблемы со стеком. он тупо переполняется.
увеличивай стек. но это нехорошая тенденция - увеличивать стек, если количество переменных и глубина цепочки вызовов может меняться. лучше подумать об оптимизации. Сообщение отредактировал Iron Bug - 17.1.2012, 23:41 |
|
|
Алексей1153 |
18.1.2012, 7:36
Сообщение
#3
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
можно организовать в классЕ статический массив-дерево. Тогда обход дерева можно будет в цикле делать, а не загружать стек рекурсией
Сообщение отредактировал Алексей1153 - 19.1.2012, 6:26 |
|
|
medhaid |
18.1.2012, 20:42
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 13.1.2012 Пользователь №: 3130 Спасибо сказали: 0 раз(а) Репутация: 0 |
ага, переполнение стека) ток вчера въехал почему.....
я думал что сигнал запомниться в очередь а потом по выходу из деструктора выполниться... как бы не какой рекурсии... как вычитал в boost signal вызов прямой сразу... а вот в signal2 вызов через очереди.. и с ними мой пример(в теории, пока не проверил) отработал бы нормально.. Спасибо, за подсказку. P.S. насчёт оптимизации, я просто разбираюсь... как бы такой задачи нет... |
|
|
Iron Bug |
18.1.2012, 22:52
Сообщение
#5
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
P.S. насчёт оптимизации, я просто разбираюсь... как бы такой задачи нет... это всегда надо иметь в виду. когда программист не думает о том, какие ресурсы сожрёт его софтина, потом получаются всякие нехорошие вещи из решения мелких задач складывается опыт программирования. чем больше опыта - тем быстрее и лучше программист справляется с задачами. |
|
|
Текстовая версия | Сейчас: 1.12.2024, 7:17 |