test.c
来自「单片机动态内存分配代码,实现malloc.」· C语言 代码 · 共 43 行
C
43 行
#include "DynAlloc.h"
int main (void)
{
volatile Mem_Handle_t MyMem1 = Mem_Alloc(BLOCK_SIZE);
volatile uint8_t BlockRem1 = Mem_TotalFreeBlocks();
volatile Mem_Handle_t MyMem2 = Mem_Alloc(BLOCK_SIZE);
volatile uint8_t BlockRem2 = Mem_TotalFreeBlocks();
volatile Mem_Handle_t MyMem3 = Mem_Alloc(BLOCK_SIZE);
volatile uint8_t BlockRem3 = Mem_TotalFreeBlocks();
if ((MyMem1 == NULL) || (MyMem2 == NULL) || (MyMem3 == NULL))
{
PORTC = 0xFF;
for (;;);
}
DEREF(MyMem1, char*)[0] = 1;
DEREF(MyMem2, char*)[0] = 2;
DEREF(MyMem3, char*)[0] = 3;
Mem_Free(MyMem1);
volatile uint8_t BlockRem4 = Mem_TotalFreeBlocks();
MyMem1 = Mem_Alloc(BLOCK_SIZE * 2);
if (MyMem1 == NULL)
{
PORTC = 0xFF;
for (;;);
}
else
{
PORTC = 0x0F;
DEREF(MyMem1, char*)[0] = 1;
}
DEREF(MyMem2, char*)[1] = 1;
DEREF(MyMem3, char*)[1] = 2;
DEREF(MyMem1, char*)[1] = 3;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?