tfree.c

来自「单片及c语言轻松入门的随书光盘」· C语言 代码 · 共 32 行

C
32
字号
#include <reg52.h>
#include <stdlib.h>
#include <absacc.h>//为使用init_mempool函数中的XBYTE定义而加入该头文件
#include <stdio.h> /*为使用printf函数而加入*/
void tst_free (void) {
	void xdata *mbuf;
	init_mempool (&XBYTE [0x2000], 0x1000);	//初始化存储器,指定开始地址及大小
//去掉该行程序会有连接警告
//当前执行结果是"Memory free"
//如果将参数0x1000改为0x100后再编译、调试可以观察到"Unable to allocate memory"
	printf ("Allocating memory\n");
	mbuf = malloc (1000);
	if (mbuf == NULL) 
	{
		printf ("Unable to allocate memory\n");
	}
	else
	{
		free (mbuf);
		printf ("Memory free\n");
	}
}
void main()
{	SCON  = 0x50;    /*SCON:工作模式1,8-bit UART,允许接收*/
	TMOD |= 0x20;    /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/
	TH1   = 0xf3;    /*当波特率为2400时,定时器初值*/
	TR1   = 1;       /*定时器T1开始运行*/
	TI    = 1;       /*允许发送数据*/
	for(;;)
		tst_free();
}

⌨️ 快捷键说明

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