|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
23.02.2018, 23:41 | #1 |
Пользователь
Регистрация: 13.01.2018
Сообщений: 47
|
Чтение построчно out of memory / Delphi XE4
В данном коде при обработке файла в 100 мегабайт выскакивает ошибка: out of memory. Как переделать этот код что бы не было ошибки - недостаточно памяти ?
Код:
|
24.02.2018, 01:38 | #2 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Что делает этот код - понятно.
А какова его цель? ------------ 100500 тыщщщ перераспределений памяти в одном цикле. Я своим падаванам за такой код могу пальцы сломать. И они это знают. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
24.02.2018, 01:47 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
тут в общем-то нет построчного чтения..
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.02.2018, 01:53 | #4 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Мало того. Для файлов таких объёмов TStringList применять очень накладно. На порядок быстрее будет работать через какойнить потомок TStream. Писать поиск массива байт в стриме даже не нужно: всё уже давно написано и валяется в интернетах.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
24.02.2018, 02:00 | #5 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
А вот не верю.
Out of memory в данном коде может возникнуть только из-за дефрагментации памяти при выполнении строки Код:
|
24.02.2018, 02:07 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Дык может у него 2 ГБ памяти, из которых почти все заняли винда и браузер.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
24.02.2018, 02:14 | #7 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,869
|
|
24.02.2018, 08:27 | #8 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Код:
программа — запись алгоритма на языке понятном транслятору
|
24.02.2018, 09:18 | #9 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 24.02.2018 в 09:26. |
|
24.02.2018, 11:03 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
У кого у всех? У меня 32.
Про Почему он не может возникнуть при загрузке содержимого файла если у автора нет свободных 100+ МБ? (а может и 200+ если оно конвертирует в юникод из ansi)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чтение из файла построчно переменных разного типа - Pascal ABC | bdfy | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 26.02.2017 14:02 |
Delphi XE4 и формы | Александр_Фролово | Общие вопросы Delphi | 21 | 02.08.2014 09:32 |
Delphi XE4 | Simon1712 | Общие вопросы Delphi | 2 | 14.09.2013 04:40 |
Load exe into memory and run it from memory | artush1984 | Win Api | 10 | 06.02.2012 18:43 |
Чтение файла построчно | aciiiD | Компоненты Delphi | 11 | 26.08.2009 16:36 |