![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Andrej78 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 9.10.2006 Репутация: нет Всего: нет |
Доброго времени суток.
Никогда с таким не сталкивался, подскажите что делать и что это за буфер? Написал ф-ию для записи в файл массива.
Записывается 14 строк (всего 11 тыс. с чем-то), потом прога вылетает с ошибкой: В process_time_bars.exe возникло переполнение буфера, что привело к повреждению внутреннего состояния программы. Нажмите кнопку "Прервать", чтобы отладить программу, или кнопку "Продолжить", чтобы завершить программу. Дополнительные сведения см. в разделе "Инструкции по отладке в случае переполнения буфера". и показывает строчку из gsreport.c и затем dbghook.c где переполнился буфер. Без вывода в файл программа работает нормально (просто вывожу через принтф() на экран и "xxx.exe > 1.txt" Да, использую динамические массивы, всего прога кушает примерно 400 Мб оперативки и почему-то стала работать медленнее начиная с какого-то объема памяти: подскажите плз в чем может быть дело? Логика проги не поменялась, просто выросли размеры массивов. Это сообщение отредактировал(а) Andrej78 - 15.3.2011, 14:42 |
|||
|
||||
| Andrej78 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 9.10.2006 Репутация: нет Всего: нет |
Извиняюсь, кажется нашел ошибку.
Просто вынес строчку с обнулением рабочей строки за тело цикла. Однако второй вопрос остался: при увеличении размера динамических массивов прога стала работать гораздо медленнее. Из-за чего это может быть и как это исправить? Может это связано с распределением памяти или с файлом подкачки? Это сообщение отредактировал(а) Andrej78 - 15.3.2011, 14:54 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Я не вижу в приведенном коде никаких динамических массивов...
-------------------- ... |
|||
|
||||
| Andrej78 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 9.10.2006 Репутация: нет Всего: нет |
там просто был массив указателей на структуры, а элементы массивов уже создавались через new.
проблема похоже была не из-за памяти, а из-за совместного использования одного файла или из-за перегруза процессора (прога консольная - ест 50% мощности процессора, другая тоже хотела съесть около 70%, вот всё и тормозило). там вроде разобрался, спасибо. Это сообщение отредактировал(а) Andrej78 - 24.3.2011, 15:13 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |