【02】RT-Thread动态内存堆的使用
简述堆栈
在单片机应用中,我们经常提到堆栈这个词,实际上,堆和栈是两个不同的概念
栈(stack):由编译器自动分配释放;
堆(heap):一般由程序员分配和释放。
int a = 0; //全局初始化 char *p1; //全局未初始化区 int main(void) { int b; //栈 char s[]="abc"; //栈 char *p2; //栈 char *p3="123456"; //123456\0在常量区,p3在栈上 static int c=0; //全局(静态)初始化区 p1=(char*)malloc(10); //堆 p2=(char*)malloc(20); //堆 }
MDK裸机系统动态内存配置和使用
char *p; p = (char *)malloc(10); free(p)
RT-Thread 动态内存配置和使用
#define HEAP_BEGIN ((void *)&Image$$RW_IRAM1$$ZI$$Limit)
rt_system_heap_init() 初始化系统的堆栈,