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

📄 srallo.h

📁 简单的动态分配函数
💻 H
字号:
#ifndef _SRALLO_H_
#define _SRALLO_H_


#define	MAX_HEAP_SIZE			200

#define _MAX_HEAP_SIZE  		(MAX_HEAP_SIZE - 1U)


#define _MAX_SEGMENT_DATA_SIZE	127U
#define _MAX_SEGMENT_SIZE   	(_MAX_SEGMENT_DATA_SIZE + 1U)

#define ENTER_CRITICAL()
#define EXIT_CRITICAL()
#define TRUE				1
#define FALSE				0


typedef  unsigned char      UINT8;
typedef  unsigned short     UINT16;
typedef  unsigned long		UINT32;
typedef  signed char		INT8;
typedef  signed short		INT16;
typedef  signed long		INT32;
typedef  unsigned char		BOOL;

/*********************************************************************
 * Segment header data type
 ********************************************************************/
typedef struct
{
    UINT8 count:7;
    UINT8 alloc:1;
}BITS;

typedef union
{
    UINT8 byte;
    BITS          bits;
}SALLOC;

extern UINT8 *SRAMalloc(UINT8 nBytes);

extern void SRAMfree(UINT8 *pSRAM);

extern void SRAMInitHeap(void);

#define	MEMALLOC_GET_SIZE(v)			(v & 0xfffffffc)
#define MEMALLOC_SET_SIZE(v, s)			v = (s + 3) & 0xfffffffc
#define MEMALLOC_SET_SIZE_ALLOC(v, s)	v = ((s + 3) & 0xfffffffc) | 0x1

#define MEMALLOC_SET_ALLOC(v)		v |= 0x1
#define MEMALLOC_CLR_ALLOC(v)		v &= 0xfffffffe
#define MEMALLOC_GET_ALLOC(v)		(v & 0x1)

#endif

⌨️ 快捷键说明

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