📄 memory.cpp
字号:
#include "runner.h"
UINT32 g_dwMemAlloc = 0; //总分配内存
UINT32 g_dwMemPeak = 0; //最高使用内存
void AddMemory(void *mem , UINT32 size)
{
if(mem==NULL)
{
Out("ERR : Not Enough Memory , Size = %d\n" , size);
return;
}
SINT8 run_string[64];
sprintf(run_string , "memory_list[%d] = %d" , mem , size);
DoString(run_string);
g_dwMemAlloc+=size;
if(g_dwMemAlloc > g_dwMemPeak)
{
g_dwMemPeak = g_dwMemAlloc;
}
}
void DecMemory(void *mem)
{
lua_getglobal(L_S , "memory_list");
/*
if(lua_getn(L_S , 1)==0)
{
Out("ERR : %s\n" , "memory_list{} lost when free memory!");
return ;
}*/
SINT32 address = (SINT32)mem;
lua_pushnumber(L_S , address);
lua_gettable(L_S,-2);
UINT32 size = (UINT32)lua_tonumber(L_S,-1);
lua_pop(L_S,1);
lua_pop(L_S,1);
SINT8 run_string[64];
sprintf(run_string , "memory_list[%d] = nil" , address);
DoString(run_string);
mem = NULL;
//Out("OK : Free Memory Size = %d\n" , size);
g_dwMemAlloc-=size;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -