⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xlmalloc.h

📁 嵌入式编程经常遇到的语言编程技巧和概念
💻 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 + -