先使用Keil软件仿真运行程序学习,RT-Thread Simulator 例程,例程结合B站视频一起学习。程序包括多个例程。
以下为看视频的笔记。。。。
栈(stack):由编译器自动分配释放
堆(heap):一般由程序员分配释放
int a = 0; //全局初始化区
char *p1; //全局未初始化区
main()
{
int b; //栈
char s[] = "abc123"; //栈
char *p2; //栈
char *p3 = "123654"; //123654在常量区,p3在栈上
static int c = 0; //全局(静态)初始化区
p1 = (char *)malloc(10); //堆
p2 = (char *)malloc(15); //堆
}
void rt_system_heap_init(void *begin_addr, void *end_addr)//系统分配堆的大小函数API
{
.......
}
点击工程文件可以打开map文件查看系统RAM,ROM使用大小。
char *p;
int num = 10;
p = (char *)rt_malloc(