• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机初始化变量和不初始化变量

renshengrumengya 2017-12-21 浏览量:1183
keil 对不出初始化 和初始化的文件全局变量和局部变量的存储,发现初始化后code空间会增大。不理解为什么
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 初始化变量的过程要分配一定的存储空间
    • 发布于 2017-12-21
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了 :没找到 回复

其他答案 数量:5
  • 初始化变量在写代码时白定义的变量就是。不需初始化的变量可存放在EEpRoM中或外接ROM中。全局变量道常在函数体外定义,局部变量写在函数体内。无论什么变量都是在存储区开空间,code一定变大。想想是吗。
    • 发布于2017-12-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 自定义一一白定义,Sorry。道常一一通常,Sorry
    • 发布于2017-12-21
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :J定制料 回复

  • 不存在的,变量无论有没有初始化都会占用FLASH空间,只有动态变量和静态变量放在不同存储区的区别。

    • 发布于2017-12-21
    • 举报
    • 评论 2
    • 0
    • 0
renshengrumengya 回复了 donatello :静态存储方式是指在程序编译期间分配固定的存储空间的方式。该存储方式通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束。全局变量,静态变量等就属于此类存储方式。你说的是这个吗?但是同一个全局变量我初始化和不初始化code空间有变化 回复
电子老工程师 回复了  :已沟通,客户测试阶段,后续会提供测试文档 回复

  • 变量不初始化的话,存在不稳定的因素,
    • 发布于2017-12-21
    • 举报
    • 评论 2
    • 0
    • 0
renshengrumengya 回复了 huihui163 :但初始化的增加了code空间,这个该怎么解 回复
电子老工程师 回复了  :链接里都是14.2mm的,有型号还有规格书 https://standexelectronics.com/products/gp560-series-reed-switch/ 回复

  • 全局变量怎么都会占一定的空间的,无论是不是初始化 。你是不是有其他的程序进行了增加了
    • 发布于2017-12-21
    • 举报
    • 评论 2
    • 0
    • 0
renshengrumengya 回复了 明有几时有 :测试验证时只更改了初始化,和不初始化进行对比 回复
电子老工程师 回复了  :Q900,符合汽车级, 回复

相关问题

问题达人换一批

单片机初始化变量和不初始化变量