[fpc-pascal] string memory management
Xiangrong Fang
xrfang at gmail.com
Fri Apr 19 06:36:50 CEST 2013
Hi All,
I'm studying how pascal manages strings. I wrote a simple test program:
program stringtest;
{$mode objfpc}{$H+}
uses Classes, sysutils;
function test: PString;
var
s : string;
begin
New(Result);
Result^ := FloatToStr(Random);
// s := FloatToStr(Random);
// Result := @s;
end;
var
i : Integer;
begin
Randomize;
with TList.Create do try
for i := 0 to 9 do Add(test);
for i := 0 to Count - 1 do begin
WriteLn(PString(Items[i])^);
end;
finally
Free;
end;
end.
The program runs fine, but:
1. I don't know whether I have to MANUALLY free memory for these strings to
prevent leak?
2. Does the IDE provide any facility to analyze memory usage of a program
and report if there are any leaks? (There are Tools/Leak View, but I don't
know how to get .trc file, or is it what I thought.
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20130419/49eddeb0/attachment.html>
More information about the fpc-pascal
mailing list