memmgr.h

来自「内存管理程序」· C头文件 代码 · 共 54 行

H
54
字号
#ifndef  _MEMMGR_H_
#define  _MEMMGR_H_

#undef MAX_MEM_BLOCK
#define MAX_MEM_BLOCK (1600) /* 保存在内存池的最大字节数*/
#undef OFFSETSIZE
#define OFFSETSIZE 4
#undef MEMALIGN
#define MEMALIGN(a) ((a|((1<<OFFSETSIZE)-1))+1) //up grow

//内存管理器,支持多线程
#define SUPORT_MTHREAD

#include "seclock.h"
#include "globaldef.h"
#include "log.h"
#include "stdlib.h"
#include "memalloc.h"
class memmgr  
{
public:
	memmgr();
	virtual ~memmgr();
public:
	//释放内存
	void  Free (void* blk);
	//分配内存
	BYTE* Alloc(UINT bytes);
	void  Load(const char *filename);
	void  Save(const char *filename);

private:

	//内存位置存储表
	BYTE*  m_Cache[MAX_MEM_BLOCK>>OFFSETSIZE];
	void VerifyMem(char *x);
	static void ASSERT_MyMemBlock(void* block);
    seclock m_lock;
};

#ifdef _DEBUG
#define MEMMGR_SIZE_D   4
#else
#define MEMMGR_SIZE_D   0
#endif

extern memmgr g_pMemManger;//内存管理器
//内存分配
extern BYTE *MyMemAlloc(UINT bytes);
//内存释放
extern void MyMemFree(void* block);

#endif // MEMMGR_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?