Стоки в памяти
От: zag2art  
Дата: 06.11.05 07:28
Оценка:
Народ подскажите пожалуйста как точно строки делфи храняться в памяти...
я знаю что если в процедуре задаешь переменную типа стринг:
procedeure MyProc;
var
  S: String;

begin
  ...
end;

то в стеке будет 4-х байтный указатель (сначала нулевой), при первом использовании выделится память под строку
и они очевидно динамически будет увеличиваться во время работы со строкой. Во время своих экспериментов я обранужил, что строка хранится необыяным образом. Во первых, она всегда с нулевым символом на конце (ну это понятно
для совместимости), а во вторый, перед самой строкой содержаться 2-е четырехбайтные служебные переменные. первая — размер строки, а вот вторая меня и интересует.
Я покапался в служебных библиотечках и узнал, что она проверяется на 1, больше я ничего не узнал...
Подскажите кто знает точно, что там с этой второй переменной....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.