码迷,mamicode.com
首页 > Windows程序 > 详细

DELPHI的 ShowMessage函数的小缺陷

时间:2014-11-22 07:02:58      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:blog   io   ar   os   sp   for   on   div   log   

今天我在XE7的IDE下调试我自己的LUA的时候发现个有意思的事情

我在LUA里调用一个DELPHI里绑定的函数 这个函数的原形如下

function lua_ShowMessage(l : PLua_State) : integer; cdecl;
var
  n, i : Integer;
  msg : AnsiString;
begin
  result := 0;
  n := lua_gettop(l);
  if n > 0 then
  begin
    msg := ‘‘;
    for i := 1 to n do
      msg := msg + lua_tostring(L, i);
    ShowMessage(string(msg));
  end;
end;

然后经常多次调用后 内存每次调用都以40多K的速度往上涨,停下来一会后 内存慢慢恢复,关键是内存能恢复到一定的程度,但永远无法恢复到调用之前的状态,所以给我的感觉就像内存泄露,具体是不是泄露也得找个时间用FASMM4试试。

一开始不明白为什么会内存变化这么大,后来尝试将

ShowMessage 换成了MessageBoxA后,再去调用的时候发现内存无任何变化,所以最终我选择了这个函数。

DELPHI的 ShowMessage函数的小缺陷

标签:blog   io   ar   os   sp   for   on   div   log   

原文地址:http://www.cnblogs.com/bbnn38/p/4114631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!