[C语言] 结构体问题,求高手指点迷津

[复制链接]
1765|5
 楼主| wt1987529 发表于 2013-12-25 17:00 | 显示全部楼层 |阅读模式
已调试好的完整程序,在所有全局变量加上结构体 为什么对单片机的ROM大小有影响,求高手指点迷津
znmcu 发表于 2013-12-25 17:05 来自手机 | 显示全部楼层
当然有影响,影响代码量。
 楼主| wt1987529 发表于 2013-12-25 17:15 | 显示全部楼层
znmcu 发表于 2013-12-25 17:05
当然有影响,影响代码量。

个人认为结构体只是增加单片机的RAM区。对ROM区怎么会有影响?所有的全局变量都是用结构体中的某一位成员。原本已调试好的40K的程序,在所有全局变量加结构体,代码行数不变编译显示代码达到70K,单片机无法烧录调试。求高手指点除了Code Bank有别的什么方法减小代码量么?
john_lee 发表于 2013-12-25 18:32 | 显示全部楼层
根据 CPU 指令是否具有间接寻址(基址+偏移)的寻址方式,是否使用 struct 可能对代码大小的影响是:
使用 struct不使用 struct
有间接寻址代码小代码大
无间接寻址代码大代码小
ayb_ice 发表于 2013-12-26 08:09 | 显示全部楼层
程序都变了,代码变了不正常吗
sunhq02 发表于 2013-12-26 08:25 | 显示全部楼层
struct寻址比直接的全局变量寻址要多一些指令
所以代码量增加了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部