Текущий архив: 2004.02.25;
Скачать: CL | DM;
ВнизКак получить String имея указатель и длину ? Найти похожие ветки
← →
Vlad (2004-02-11 15:41) [40]
> However, wide strings are not reference counted.
А каким же образом компилятор узнает когда нужно освобождать память ?
← →
Тимохов (2004-02-11 15:45) [41]
> А каким же образом компилятор узнает когда нужно освобождать
> память ?
Он умный.
Он же как-то узнает, что нужно освобождать память из под простых строк когда счетчик равен 0.
Просто он считает, что счетчие у widestring равен 1. Когда станет равен 0 - освободит.
← →
Johnmen (2004-02-11 15:48) [42]>Vlad © (11.02.04 15:41) [40]
Не компилятор, а менеджер памяти...:)
← →
Тимохов (2004-02-11 15:52) [43]
> Не компилятор, а менеджер памяти...:)
Интересно какими понятиями Вы руководствуютесь когда делаете такое разделение?
Менеджер памяти никто, пока его явно не попросят что-то освободить. А просит то компилятор.
← →
Serginio666 (2004-02-11 15:59) [44]Одной ссылки достаточно
type
PStrRec = ^StrRec;
StrRec = packed record
refCnt: Longint;
length: Longint;
end;
var
P: PStrRec;
begin
P := Pointer(Integer(str) - sizeof(StrRec));
Len:=p.length;
← →
Johnmen (2004-02-11 16:13) [45]>Менеджер памяти никто, пока его явно не попросят что-то освободить. А просит то компилятор.
Просит во время работы программы ?
:)
← →
Тимохов (2004-02-11 16:17) [46]
> Просит во время работы программы ?
> :)
Нет, в откомпиленном компилятором коде.
Что говорить - можно же цпу посмотреть в конце методов - там есть осовобождение локальных строк - это же заслуга компилятора поставить туда эти команды.
И вообще менеждер памяти тупая скотина - освобождает только то, что ему говрят из методов очистки мусора.
← →
Vlad (2004-02-11 16:20) [47]
> Johnmen © (11.02.04 16:13) [45]
Я так понимаю, что компилятор определяет когда и что нужно освобождать до запуска программы, когда преобразовывает все в ассемблерный код. Или я не прав ?
← →
Johnmen (2004-02-11 16:29) [48]
>это же заслуга компилятора поставить туда эти команды.
Заслуга компилятора - поставить туда вызовы ртл"ных функций...:)
^
>Vlad © (11.02.04 16:20) [47] !
!
Нет, не определяет. См. -------------!
Страницы: 1 2 вся ветка
Текущий архив: 2004.02.25;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.034 c