标题: 单片机C语言的误区 [打印本页]

作者: peiyingxuan    时间: 2022-9-8 17:46
标题: 单片机C语言的误区
经常见网友们说,代码不能写太多了包括注释,单片机的ROM只有几个K的空间,其实这是表面问题的误解。
1、注释是写不进去hex文件的,下载到芯片里的只有你的有效代码汇编以后生成的机器码,注释自动编译器忽视了,否则怎么是注释呢?
2、for循环和蜗牛代码意义一样,for循环汇编以后和和你不用for循环把代码用笨办法依次写出来效果一样,不妨试试,弄个for循环依次点亮8栈led灯,然后再用笨办法写8行代码,依次点亮8栈led灯,比较一下下载烧录以后的hex文件大小

作者: 新昌小徐    时间: 2022-9-9 06:59
注释不会生产目标代码,有点单片机基础知识的人都知道,用FOR循环写代码可以节省单片机的存储空间,只是你代码量小不会显现出来而已。因为用循环语句需要耗费一定的存贮空间来存贮牲循环变量,还有判断,控制程序执行顺序都要存贮空间来支持。
就像你用指针,如果对于简单的程序,用上指针更不方便,不如不用指针,但问题一复杂,用上指针那是效率大增。
作者: 1xiaosun    时间: 2022-9-9 08:08
不用for循环真的能提速
注释不会生产目标代码, 但是好多人工作中不写注释,不要问我为什么
作者: 188610329    时间: 2022-9-9 20:38
就你的 第二点来讲,你依次点亮8个灯时 加个 delay 看看,  不要以片盖面, 次数不多的循环一个指令时候,for的优势 的确不明显,但是 50次,100次呢? 循环的指令有 20条以上呢? 这代码差距就大了去了。当然,如果纯粹追求效率,自然应该 避免使用所有的for循环。但是为了追求体积,就应当尽量使用for循环
作者: 一事无成    时间: 2022-9-10 09:23
1.注释听名字多数不学编程的人也知道
作者: 大表嫂    时间: 2022-9-11 18:33
和变量名 函数名 参数名 字符长短也无关
作者: ypfengye    时间: 2022-10-31 20:32
不写注释是留给公司的,自己的那一份是一定要有注释的。
作者: wycdd    时间: 2022-11-30 12:36
ypfengye 发表于 2022-10-31 20:32
不写注释是留给公司的,自己的那一份是一定要有注释的。

哈哈 算你狠

作者: Longan.Wang    时间: 2022-12-8 17:01
楼主还有待学习啊!!!!!!!!
作者: wjfnb666    时间: 2024-7-20 14:07
注释不影响代码大小:
注释在编译过程中被完全忽略,不会出现在最终的二进制代码(如.hex文件)中。因此,它们不会占用任何ROM空间。注释的存在主要是为了提高源代码的可读性和可维护性,方便人类理解代码逻辑。
代码结构与优化:
使用高级语言结构,如for循环,与使用冗长的、重复的代码片段在功能上是等价的,但它们在编译后的机器码中可能有相同或相似的表现形式。现代编译器能够优化这些结构,使得循环和手动重复的代码在最终的机器码中占用相似的空间。然而,使用循环通常会使得代码更加简洁且易于维护。
代码效率与ROM使用:
单片机的ROM空间有限,因此编写高效、紧凑的代码非常重要。但这并不意味着避免使用诸如for循环这样的结构。实际上,有效的算法设计、合理的数据类型选择、避免不必要的函数调用和全局变量的使用,这些都是减少ROM占用的关键因素。
作者: easymfk    时间: 2024-9-30 09:55
一边编程,一边注释会不会很慢?如果是新人学习这样还好,但对于经常搞这个的,注释还有必要吗?
作者: yaosongjin    时间: 2024-9-30 11:08
easymfk 发表于 2024-9-30 09:55
一边编程,一边注释会不会很慢?如果是新人学习这样还好,但对于经常搞这个的,注释还有必要吗?

没有注释不利于代码维护,尤其是换了人
作者: zyftank    时间: 2025-5-22 15:06
ypfengye 发表于 2022-10-31 20:32
不写注释是留给公司的,自己的那一份是一定要有注释的。

防御性编程




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1