📄 xlmalloc.h
字号:
#ifndef XLMALLOC_H
#define XLMALLOC_H
union header {
struct {
union header *ptr;
unsigned long size;
} s;
char c[8]; // For debugging; also ensure size is 8 bytes
};
// sheader结构是header结构的变形,主要是为了方便大家调试时观测
struct sheader {
struct sheader *ptr;
unsigned long size;
};
typedef union header HEADER;
#define ABLKSIZE (sizeof (HEADER)) //一个分配块的大小,这里是8个字节
//将用户的分配字节数换算成为分配块的个数,注意:加一是为这个分配块留一个头部
#define BTOU(nb) ((((nb) + ABLKSIZE - 1) / ABLKSIZE) + 1)
#define Heapsize (2048*8) //为了让大家方便调试,我们只给出了一个非常小的堆空间,且是分配块大小(8字节)的整数倍
//#define Memdebug 1 //打开调试宏
//函数原型声明
extern void *SysLmalloc( int nb );
extern void SysLfree( void *blk );
extern void *SysLcalloc( int size );
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -