2

それは機能しているようですが、私はメモリリークを見つけようとして頭をかいていて、そのようなことはあまり得意ではありません:-(

const UNIX_START_DATE: TDateTime = 25569.0;

function UnixToDateTime(USec: Longint): TDateTime;
begin
  Result := (Usec / 86400) + UNIX_START_DATE;
end;

私は実際には呼び出していませんTDateTime.Create()が、コンパイラーは(つまり、どこかで解放する必要があります)?または、TDateTime基本的には2倍であるため、コンパイラは呼び出し元に割り当てるためにスタックにプッシュするだけですか?

4

1 に答える 1

13

解放するものは何もありません。TDateTimeに基づく単純な型Doubleであるため、ヒープに割り当てられません。

于 2012-10-05T04:52:41.397 に答える