单片机程序优化(全局变量静态变量全局函数静态函数)

ZeroSkyrim 2014-11-19 09:04:58
刚使用单片机,发现和以前不同的是。
对程序的空间大小很敏感(8k,16k)。而对全局变量的设置不敏感(一个人写不怕乱)。

那么问题来了,我有必要将全局变量变成局部变量或者static变量吗?(如果可以),有必要将某些函数变成static函数吗?(有些驱动只有本文件有用)。
如果这么变了,对程序编译后的影响有多大?是变大还是变小?值不值得如此做。
...全文
339 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly 100% 2014-11-23
  • 打赏
  • 举报
回复
全局变局部会涉及内存和栈的释放 是有好处的
色郎中 2014-11-23
  • 打赏
  • 举报
回复
不影响大小 你说的情况确实存在, 代码太多,是影响调试,甚至无法调试 俺的做法,先将无关的功能部分 屏蔽 ...
SEA2014 2014-11-22
  • 打赏
  • 举报
回复
将全局变量或者函数设为static与否,不影响程序的生成大小,可以节省RAM。
mangoalx 2014-11-21
  • 打赏
  • 举报
回复
全局变量变成局部变量应该会省RAM。因为不同时运行的子函数局部变量空间可以复用。
ZeroSkyrim 2014-11-21
  • 打赏
  • 举报
回复
引用 1 楼 wwwwpppp628 的回复:
将全局变量或者函数设为static与否,不影响程序的生成大小。局部变量申明为static,对程序的大小影响几乎没有。倒是可以节约栈空间。
谢谢好心人
Dirk 2014-11-19
  • 打赏
  • 举报
回复
将全局变量或者函数设为static与否,不影响程序的生成大小。局部变量申明为static,对程序的大小影响几乎没有。倒是可以节约栈空间。

27,377

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧