ubuntu和stm32下的C程序的内存分配问题

1、内存分配

ubuntu和stm32下的C程序的内存分配问题
ubuntu和stm32下的C程序的内存分配问题

1、全局变量与局部变量

全局变量:
在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是整个程序,也就是所有的源文件。
局部变量:
定义在函数体内部的变量,作用域仅限于函数体内部。离开函数体就会无效,再调用就是出错。
区别如下:
ubuntu和stm32下的C程序的内存分配问题
二)堆与栈
堆:
*申请的空间,按内存地址由低到高方向生长,其大小由系统内存 / 虚拟内存上限决定,速度较慢,但*性大,可用空间大。
栈:
存放 Automatic Variables ,按内存地址由高到低方向生长,其最大值由编译时确定,速度快,但*性差,最大空间不大。
二者对比如下图:
ubuntu和stm32下的C程序的内存分配问题

2、Ubuntu 和 STM32 下的输出验证

上一篇:基于STM32的多功能智能密码锁控制设计


下一篇:stm32中断分析