MDK AC5,AC6,GCC以及IAR在const局部变量存储位置的异同

|-------------------------------------------------------------|
| 这个是在RTX5全家桶源码升级时遇到的,给大家分享下,基本上已经升级完毕测试完毕了,且支持MDK6,这几天录制视频分享 |

直接说结论
1、一般情况下,const修饰后基本都是存到Flash里面的,全局变量或者静态局部变量是均存储到Flash,而局部变量是有区别的。
2、GCC,MDK AC5和AC6的const局部变量是存到RAM,而IAR不同,是依然保持存到Flash。
3、由于各个优化等级选项太多,不逐一测试了,每个编译器仅测试了一个选项/
4、测试版本MDK5.43, IAR9.30, Embedded Studio 5.50

MDK AC5优化和测试

MDK AC6优化和测试

IAR优化和测试

GCC优化和测试

相关推荐
陈eaten1 天前
win11下nasm编写汇编及链接方案
汇编·链接·nasm·gcc·golink
李日灐8 天前
<5> Linux 开发工具:包管理 + Vim 实操 + GCC 编译流程 + 静态与动态链接详解
linux·运维·服务器·面试·vim·gcc
AlbertS16 天前
distcc + ccache 编译递归问题排查总结
c++·cmake·gcc·g++·distcc·ccache
2401_892070981 个月前
【C/C++ 重难点精讲】const 与指针、引用:彻底理清权限与用法
c语言·c++·指针·引用·const
华科大胡子1 个月前
条款03:尽可能使用const
const·effective c++·const成员函数·const修饰指针·stl迭代器
___波子 Pro Max.1 个月前
GCC选项 -frecord-gcc-switches:记录编译选项的利器
gcc
紫郢剑侠2 个月前
【C语言编程gcc@Kylin | 麒麟 】5:获取系统启动时间
c语言·开发语言·kylin·gcc·麒麟操作系统
wsoz2 个月前
GCC编译
linux·c语言·嵌入式·gcc
嘿嘿嘿x32 个月前
Vscode/MinGW-64编译
gcc
时光の尘2 个月前
嵌入式面试八股文(二十)·C语言关键字相关知识点速通(static、const、volatile、struct、enum、union)
c语言·const·static·union·volatile·struct·enum