out of memory
|
|
kvestpro | Дата: Воскресенье, 22 Января 2012, 14:10 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| Я создал простенький шифратор/дешифратор текста. (по уроку)
Проверяю его, ввожу туда текст на 7 строк. жму зашифровать а он мне пишет out of memory. у меня 4 ядра 3.2 ггц и 8 гб оперативки. Сколько же жрет этот шифратор? P.S. писал на borland delphi 7
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |
LunarPixel | Дата: Воскресенье, 22 Января 2012, 14:13 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| kvestpro, мм.. проблема возможно в том, что у тебя строка записывается в переменную строкового типа, длина которой ограничена 255 символами.
|
|
| |
kvestpro | Дата: Воскресенье, 22 Января 2012, 14:16 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| LunarPixel, скорее всего! спасибо. то есть эта переменная не должна быть string?
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |
LunarPixel | Дата: Воскресенье, 22 Января 2012, 14:24 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Quote (kvestpro) то есть эта переменная не должна быть string? Да, используй другой тип данных, большей размерности, например widestring.
|
|
| |
TimKruz | Дата: Воскресенье, 22 Января 2012, 15:12 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| LunarPixel, в Delphi 7, теоретически, обычный string может помещать гораздо больше 255 символов (если не указана конкретная длина)... У меня получалось запихивать туда огромные тексты... Другое дело, что "лишнее" выходит за пределы отведённой строке памяти и обращаться к вышедшим туда символам напрямую (по номеру) нельзя, но они там есть и хранятся там сколько угодно долго... А вот в консоли ты больше 255 символов сразу ввести не сможешь. Вот пример для доказательства: Code var s:string; implementation procedure TForm1.Button1Click(Sender: TObject); begin s:=memo1.Text; showmessage(s); end; Введите в Memo текст любой длины и получите его назад через окошко-сообщение. Так что, тут скорей всего ошибка в самом алгоритме шифрования. Покажи весь код тут (тег [code]). А сколько жрёт шифратор можешь увидеть через диспетчер задач. В принципе, переполнение памяти может быть, если приложение забивает всю память, отведённую системой под это приложение, что по умолчанию меньше реальной памяти (вот сколько конкретно - не знаю).
|
|
| |
AirWolF_RG | Дата: Воскресенье, 22 Января 2012, 15:22 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| TimKruz, соглашусь с тобой. В Delрhi 7 string понимается как ansi string, тоесть может содержать в себе текста столько, сколько доступно ОЗУ, насколько я помню. kvestpro, а с твоей проблемой могу связать такой случай: т.к. у тебя 8 Gb озу, у тебя стабильно x64 ОСь. А Дельфин очень сильно не дружит с x64 осями. Для этого лучше юзать последние релизы Embarcaderro или как его там, если ты любитель Delphi.
Java(4),C(3),C++(4),PHP(3),BlitzMAX(5),Delphi(4),VB(4) Оценка знаний - от 1 до 5
|
|
| |
LunarPixel | Дата: Воскресенье, 22 Января 2012, 15:31 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| TimKruz, да, ты прав, для меня делфи последнее время - это консоль.
|
|
| |
kvestpro | Дата: Воскресенье, 22 Января 2012, 18:34 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| AirWolF_RG, хм... я не так выразился у меня железо 8 гб, но из-за того что у меня x32 то виндовс видет только 3 с чем-то
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |
TimKruz | Дата: Воскресенье, 22 Января 2012, 18:56 | Сообщение # 9 |
старожил
Сейчас нет на сайте
| kvestpro, ну так выложи здесь свой код!!! Мы тут не экстрасенсы... Вот по коду будет ясно, что с ним... Или хотя бы протестировать на другой машине можно будет...
|
|
| |
kvestpro | Дата: Воскресенье, 22 Января 2012, 20:06 | Сообщение # 10 |
заслуженный участник
Сейчас нет на сайте
| http://narod.ru/disk/38504332001/%D0%B0%D0%B0%D0%B0.rar.html - здесь исходник и экзешник.
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |
masb8ly-GC | Дата: Воскресенье, 22 Января 2012, 23:56 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| Quote (kvestpro) AirWolF_RG, хм... я не так выразился у меня железо 8 гб, но из-за того что у меня x32 то виндовс видет только 3 с чем-то Можно вопрос? ЗАЧЕМ?! Смысл ставить еще 1 планку которая не используется? Поставь х64 и не парься! У меня стоит х64 и все нормально, с Delphi не конфликтует!Добавлено (22.01.2012, 23:56) --------------------------------------------- Не знаю, что у тебя там пишет, но у меня все работает! Запускал и с исходника и с ехе'шника... Железо: Intel Core i7 - 990x Extreme Edition, 6 ядер 3.4 ГГц и 8 гб оперативки. Да железо конечно не для сравнения, но даже на самой слабой машине полет сего приложения должен быть нормальным! Добавлено (22.01.2012, 23:56) --------------------------------------------- Твое приложение кушает всего 960 кб оперативки!
Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
|
|
| |
kvestpro | Дата: Понедельник, 23 Января 2012, 12:20 | Сообщение # 12 |
заслуженный участник
Сейчас нет на сайте
| masb8ly-GC, вы пробовали вставлять большой текст? а насчет x64 когда мне компьютер собирали, то этот сборщик (у меня дома все делали) забыл 7 виндовс у себя дома. а с собой был толь XP x32. жду его пока он мне принесет виндовс 7. он мне обещал бесплатно сделать его.Добавлено (23.01.2012, 12:18) --------------------------------------------- максимум почему-то 114 символов (с пробелами) вышло на 2 строки. пишет вот что: access violation at address 00402C8D in module 'Project2.exe'. Read of address 3FFFFFFc. Добавлено (23.01.2012, 12:20) --------------------------------------------- перевел в гугле (в школе французский учу) вот что выдал: нарушение прав доступа по адресу 00402C8D в «Project2.exe 'модуль. Чтение адреса 3FFFFFFc. что это значит?
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
Сообщение отредактировал kvestpro - Понедельник, 23 Января 2012, 09:28 |
|
| |
masb8ly-GC | Дата: Понедельник, 23 Января 2012, 16:46 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| Все дело в том, что изначально на приложения делфи открыто не много память (не помню сколько) как открыть не знаю. В момент работы с текстом размером в 1074 символа твое приложение использовало 277 мб оперативки, а после выдало сообщение "Out of memory"
Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
|
|
| |
TimKruz | Дата: Понедельник, 23 Января 2012, 18:17 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| Quote (kvestpro) http://narod.ru/disk/38504332001/%D0%B0%D0%B0%D0%B0.rar.html - здесь исходник и экзешник. К сожалению, почему-то сейчас не могу скачать с народа... Но видно, что с алгоритмом что-то не то. Нерациональный. Скорей всего, он и не предназначен для таких больших сообщений... В том уроке ничего не было написано на счёт ограничений?
|
|
| |
kvestpro | Дата: Вторник, 24 Января 2012, 20:37 | Сообщение # 15 |
заслуженный участник
Сейчас нет на сайте
| TimKruz, нет.... это видеоуроки Антона Макрушина. http://rutracker.org/forum/viewtopic.php?t=2829387 (он их бесплатно сам выкладывает на рутрекере)Добавлено (23.01.2012, 20:34) --------------------------------------------- исправил out of memory... но появилась другая: Добавлено (24.01.2012, 20:37) --------------------------------------------- выкладываю новый исходник кстати новая ошибка (на скрине) раньше тоже была. http://narod.ru/disk/38701117001/%D0%B0%D0%B0%D0%B0.zip.html
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |
berzegov | Дата: Вторник, 24 Января 2012, 20:55 | Сообщение # 16 |
участник
Сейчас нет на сайте
| Скачал твой исходник.У меня тоже такая же ошибка(access violation at address 00402C8D in module 'Project2.exe'. Read of address 3FFFFFFc.) после ~150-250 символов.
|
|
| |
kvestpro | Дата: Вторник, 24 Января 2012, 21:10 | Сообщение # 17 |
заслуженный участник
Сейчас нет на сайте
| berzegov, Отчего же там такая ошибка? есть мысли?
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |
berzegov | Дата: Вторник, 24 Января 2012, 21:51 | Сообщение # 18 |
участник
Сейчас нет на сайте
| Quote (kvestpro) Отчего же там такая ошибка?
Если бы знал,то сказал.
|
|
| |
karuy | Дата: Среда, 25 Января 2012, 00:23 | Сообщение # 19 |
заслуженный участник
Сейчас нет на сайте
| kvestpro, Учись трассировать прогу, пригодиться. Еррор вываливается из-за Code for b:=1 to h do pass:=pass+pass; ясно почему? Я алгоритм твой не менял, просто подправил, чтоб еррора не было. http://rghost.ru/36096142
|
|
| |
kvestpro | Дата: Среда, 25 Января 2012, 15:48 | Сообщение # 20 |
заслуженный участник
Сейчас нет на сайте
| karuy, Точка с запятой нужэна что ли? Добавлено (25.01.2012, 15:48) --------------------------------------------- karuy, все равно ошибка
Инверсная кинематика в Unity Алгоритм поиска пути Jump Point Search
|
|
| |