从delphi7 到 Delphi2010 ---(二) 内存管理

delphi 2010 的内存管理 对 delphi 7 的内存管理进行了改善.

下面这段代码 在两个编译器下均能正常运行, 但是我们发现 , delphi 2010 可以申请更多的内存.

---- 测试环境 : windows 7.0

procedure TForm1.Button3Click(Sender: TObject);
const nm = 1024*1024*500;
   Type
       TAA = packed array[1..nm] of byte;
       PAA = ^TAA;
   var A:array[1..4] of   PAA;
       i,n:integer;
begin
    for I := 1 to 4 do
    begin
        try
          A[i]:=nil;
          getmem(   A[i] , sizeof( TAA));
        except
           on E:Exception do
              memo1.Lines.Add( e.Message) ;

        end;
          memo1.Lines.Add( format('%p',[A[i]])) ;
   end;

   showmessage('OK');

    for I := 1 to 4 do
    begin
       if (A[i]<>nil) then
       begin
         freemem( A[i] );
       end;
    end;

end;

delphi 7 编译的程序之运行结果 :

10090004
Out of memory
00000000
Out of memory
00000000
Out of memory
00000000

//   delphi 2010 编译的程序之运行结果 :

40D10010
21900010
Out of memory
00000000
Out of memory
00000000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值