找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4953|回复: 11
打印 上一主题 下一主题
收起左侧

单片机C语言的误区

  [复制链接]
跳转到指定楼层
楼主
ID:1043948 发表于 2022-9-8 17:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
经常见网友们说,代码不能写太多了包括注释,单片机的ROM只有几个K的空间,其实这是表面问题的误解。
1、注释是写不进去hex文件的,下载到芯片里的只有你的有效代码汇编以后生成的机器码,注释自动编译器忽视了,否则怎么是注释呢?
2、for循环和蜗牛代码意义一样,for循环汇编以后和和你不用for循环把代码用笨办法依次写出来效果一样,不妨试试,弄个for循环依次点亮8栈led灯,然后再用笨办法写8行代码,依次点亮8栈led灯,比较一下下载烧录以后的hex文件大小
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:496636 发表于 2022-9-9 06:59 | 只看该作者
注释不会生产目标代码,有点单片机基础知识的人都知道,用FOR循环写代码可以节省单片机的存储空间,只是你代码量小不会显现出来而已。因为用循环语句需要耗费一定的存贮空间来存贮牲循环变量,还有判断,控制程序执行顺序都要存贮空间来支持。
就像你用指针,如果对于简单的程序,用上指针更不方便,不如不用指针,但问题一复杂,用上指针那是效率大增。
回复

使用道具 举报

板凳
ID:275671 发表于 2022-9-9 08:08 | 只看该作者
不用for循环真的能提速
注释不会生产目标代码, 但是好多人工作中不写注释,不要问我为什么
回复

使用道具 举报

地板
ID:624769 发表于 2022-9-9 20:38 | 只看该作者
就你的 第二点来讲,你依次点亮8个灯时 加个 delay 看看,  不要以片盖面, 次数不多的循环一个指令时候,for的优势 的确不明显,但是 50次,100次呢? 循环的指令有 20条以上呢? 这代码差距就大了去了。当然,如果纯粹追求效率,自然应该 避免使用所有的for循环。但是为了追求体积,就应当尽量使用for循环
回复

使用道具 举报

5#
ID:1007932 发表于 2022-9-10 09:23 | 只看该作者
1.注释听名字多数不学编程的人也知道
回复

使用道具 举报

6#
ID:1044475 发表于 2022-9-11 18:33 | 只看该作者
和变量名 函数名 参数名 字符长短也无关
回复

使用道具 举报

7#
ID:1044757 发表于 2022-10-31 20:32 | 只看该作者
不写注释是留给公司的,自己的那一份是一定要有注释的。
回复

使用道具 举报

8#
ID:1054812 发表于 2022-11-30 12:36 | 只看该作者
ypfengye 发表于 2022-10-31 20:32
不写注释是留给公司的,自己的那一份是一定要有注释的。

哈哈 算你狠
回复

使用道具 举报

9#
ID:77589 发表于 2022-12-8 17:01 | 只看该作者
楼主还有待学习啊!!!!!!!!
回复

使用道具 举报

10#
ID:1129328 发表于 2024-7-20 14:07 | 只看该作者
注释不影响代码大小:
注释在编译过程中被完全忽略,不会出现在最终的二进制代码(如.hex文件)中。因此,它们不会占用任何ROM空间。注释的存在主要是为了提高源代码的可读性和可维护性,方便人类理解代码逻辑。
代码结构与优化:
使用高级语言结构,如for循环,与使用冗长的、重复的代码片段在功能上是等价的,但它们在编译后的机器码中可能有相同或相似的表现形式。现代编译器能够优化这些结构,使得循环和手动重复的代码在最终的机器码中占用相似的空间。然而,使用循环通常会使得代码更加简洁且易于维护。
代码效率与ROM使用:
单片机的ROM空间有限,因此编写高效、紧凑的代码非常重要。但这并不意味着避免使用诸如for循环这样的结构。实际上,有效的算法设计、合理的数据类型选择、避免不必要的函数调用和全局变量的使用,这些都是减少ROM占用的关键因素。
回复

使用道具 举报

11#
ID:1131387 发表于 2024-9-30 09:55 | 只看该作者
一边编程,一边注释会不会很慢?如果是新人学习这样还好,但对于经常搞这个的,注释还有必要吗?
回复

使用道具 举报

12#
ID:23640 发表于 2024-9-30 11:08 | 只看该作者
easymfk 发表于 2024-9-30 09:55
一边编程,一边注释会不会很慢?如果是新人学习这样还好,但对于经常搞这个的,注释还有必要吗?

没有注释不利于代码维护,尤其是换了人
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表