утечка памяти ?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

утечка памяти ?

Сообщение Attid » 09.08.2013 16:55:28

случайно накнулся на утечку памяти в консольном приложении, правда у меня старый фпц 2,4,0
но не ожидал что со строковой переменной

в основном потоке создаются потоки
Код: Выделить всё
    repeat
        //code  code code
        BeginThread(@IncomeThread,@vClientSocket);
    until false;     


ну и функция проста

Код: Выделить всё
function IncomeThread(Parameter : Pointer) : Integer;
var s : string;
begin
  Result := 0;
  s := IntToStr(Random(10));
  addLog(s);
  //s := '';     
  EndThread;
end;


собственно пока не добавил в конце обнуление "s" потребление памяти возрастало, хотя я и был уверен что в паскале этого делать не надо :roll:

вопрос больше риторический, но все же кто не прав ? :?:
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: утечка памяти ?

Сообщение Sergei I. Gorelkin » 09.08.2013 21:02:24

Ты принудительно завершаешь поток, не дав выполниться коду неявного освобождения памяти в конце процедуры. Естественно, при этом память будет течь.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: утечка памяти ?

Сообщение Alex2013 » 21.08.2013 16:18:20

Как вариант можно выделять и освобождать память самостоятельно
или если строки гарантировано не длинные использовать тип ShortString;

Зы Кстати интересно можно ли использовать объявление типа S:String[1024] ; ?
Alex2013
долгожитель
 
Сообщения: 3143
Зарегистрирован: 03.04.2013 11:59:44

Re: утечка памяти ?

Сообщение Linus » 23.08.2013 21:47:14

[Текст сообщения стерт. Возникшая проблема уже решена] :mrgreen:

fpc 2.6.0 lazarus 0.9.30.4 (stable) Debian wheezy amd64
Linus
новенький
 
Сообщения: 47
Зарегистрирован: 11.01.2013 22:01:28


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru
cron