IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> тип string, утечка памяти, C++ Builder 6
сообщение
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Работу с типом char* я тупо не смог осилить, так как так и не понял, при каких операциях надо выделять ему память, при каких не надо. Короче ужаснейший тип, и кто его придумал, и ну его нафиг.
Решил применить string - я так понял, что это аналог паскалевского. Но обнаружилось, что после динамического создания структуры, содержащей поле типа string, и её удаления кол-во занимаемой памяти меняется. Встатив этот кусок в бесконечный цикл, я обнаружил, что память, пожираемая программой, пульсирует от 10 до 50 MЬ.
Вторая проблема - при отладке на операциях с этим типом он лезет в свои модули, мне они неинтересны, как запретить отладчику в них влазить.
Блин, настроек по сравнению с Дельфой раза в 3 больше, на кой.

Сообщение отредактировано: TarasBer -


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
TarasBer   тип string, утечка памяти   18.09.2009 19:35
volvo   Выделять память надо всегда. Просто когда-то ее мо…   18.09.2009 20:49
TarasBer   Выделять память надо всегда. Просто когда-то ее м…   18.09.2009 21:45
volvo   Естественно... Для работы со строками в стиле С су…   18.09.2009 22:23
TarasBer   С чего бы? Ничего они не делают с памятью. В опис…   18.09.2009 22:43
volvo   До поры до времени - не вредят... Пока ты не напиш…   18.09.2009 23:05
TarasBer   Ну, тогда смотри: при выполнении delete, если до…   19.09.2009 0:05
volvo   Угу, именно поэтому... Кстати, а что за задачу ты…   19.09.2009 0:53
TarasBer   Кстати, а что за задачу ты решаешь? Я решаю зад…   19.09.2009 1:07
volvo   Фишка С++ - не в том, чтобы не писать свой велосип…   19.09.2009 1:29
TarasBer   Фишка С++ - не в том, чтобы не писать свой велоси…   19.09.2009 2:44
renesko1   С++ наоборот ИМХО понятен, если программа написана…   19.09.2009 18:29
TarasBer   Хьюстон, у нас опять проблемы. При вводе корректны…   19.09.2009 22:55
volvo   Где память выделяется, и где она освобождается? Ес…   19.09.2009 23:34
TarasBer   Естественно, все выделения и освобождения находятс…   20.09.2009 0:00
volvo   Ну, хорошо... Это переопределение операции деления…   20.09.2009 1:03
TarasBer   Значит собсна вычисление выражения выглядит так: …   20.09.2009 1:23
volvo   Сомневаюсь... Поскольку сведения у меня о твоей пр…   20.09.2009 3:02
TarasBer   Запуск с гуардом даёт аксесс виолейшн, программа н…   20.09.2009 4:04
volvo   Присоедини свой проект, я его прогоню в 2009... Мо…   20.09.2009 4:10
TarasBer   Заодно я проверил, что дело не в "пустом…   20.09.2009 4:34
volvo   А ты знаешь, у меня не вылетает. У тебя вечный цик…   20.09.2009 5:21
TarasBer   > Так вот по 10 минут работало без перерыва, ни…   20.09.2009 16:10
TarasBer   И надо сказать, что хавает от не спеша, где-то пол…   20.09.2009 18:07
volvo   Ну не получается у меня, чтоб пожиралась память...…   20.09.2009 18:52
TarasBer   А что это он сразу 8 метров отхватил? У меня в кор…   20.09.2009 19:07
volvo   Это Дебаг-версия + CodeGuard... Если скомпилироват…   20.09.2009 19:15
TarasBer   Я правильно понимаю, что команда new для создания …   20.09.2009 22:20
TarasBer   Мне удалось подключить CodeGuard. Запустил, ввёл 1…   23.09.2009 2:17
TarasBer   Решил упростить свой случай до предела. Написал в …   23.09.2009 17:12
volvo   Ничего там не создается... Проверил и Билдером, и …   23.09.2009 17:57
TarasBer   Тогда ещё вопрос - как надо компилировать программ…   23.09.2009 18:16
volvo   нехватка Vcl50.bpl   23.09.2009 18:20
TarasBer   Понятно. Альтернативный вариант - чистое API? Екз…   23.09.2009 18:26
volvo   И в этом случае возможны проблемы (при отсутствии …   23.09.2009 18:44
TarasBer   А просканировать как-нибудь тот екзешник, чтоб пон…   24.09.2009 0:31
volvo   Реально, только сравнивать надо не EXE-шники, а MA…   24.09.2009 1:52
TarasBer   А существует ли какой-либо механизм предсказания о…   25.09.2009 2:22
TarasBer   Попытался заняться дальнейшим упрощением "нев…   27.09.2009 17:30
volvo   Значит, в BCB6 такая "хорошая" работа с …   27.09.2009 17:47
TarasBer   Значит, в BCB6 такая "хорошая" работа с…   27.09.2009 18:02
volvo   Чего сложного? http://www.codeblocks.org/downloads…   27.09.2009 18:09
volvo   Нет, этот баг нашел не ты, его нашли другие... Ты …   27.09.2009 18:40
TarasBer   catch (Exception &E) { ... delete …   28.09.2009 17:20
TarasBer   А такой код, с удалением исключения, будет работат…   28.09.2009 19:47
volvo   Нет, при попытке сделать delete &E;получишь In…   28.09.2009 23:01
TarasBer   Тогда какой #ифдеф на этот случай посоветуете? Я в…   28.09.2009 23:23
volvo   Насколько я помню номера компиляторов - так: cat…   29.09.2009 1:21
TarasBer   > && (__BORLANDC__ >= 0x560) Ну, во…   29.09.2009 13:35
volvo   Ты спрашивал, как определить Билдер 6 директивами …   29.09.2009 14:04
TarasBer   Всё, больше вопросов нет, спасибо.   29.09.2009 17:45
TarasBer   Как заставить встроенные функции модуля math не вы…   29.09.2009 19:29
TarasBer   Заменил матх на фастматх, обнаружил новый прикол. …   30.09.2009 0:28


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 5:33
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name