2725|0

362

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

如何能编好单片机的程序(13) [复制链接]

2、书写Debug版和Release版的程序
----------------
程序在开发过程中必然有许多程序员加的调试信息。我见过许多项目组,当程序开发结束时,发动群众删除程序中的调试信息,何必呢?为什么不像VC++那样建立两个版本的目标代码?一个是debug版本的,一个是Release版的。那些调试信息是那么的宝贵,在日后的维护过程中也是很宝贵的东西,怎么能说删除就删除呢?
利用预编译技术吧,如下所示声明调试函数:
  #ifdef DEBUG
    void TRACE(char* fmt, ...)
    {
      ......
    }
  #else
    #define TRACE(char* fmt, ...)
  #endif
于是,让所有的程序都用TRACE输出调试信息,只需要在在编译时加上一个参数"-DDEBUG",如:
  cc -DDEBUG -o target target.c
于是,预编译器发现DEBUG变量被定义了,就会使用TRACE函数。而如果要发布给用户了,那么只需要把取消"-DDEBUG"的参数,于是所有用到 TRACE宏,这个宏什么都没有,所以源程序中的所有TRACE语言全部被替换成了空。一举两得,一箭双雕,何乐而不为呢?
顺便提一下,两个很有用的系统宏,一个是"__FILE__",一个是"__LINE__",分别表示,所在的源文件和行号,当你调试信息或是输出错误时,可以使用这两个宏,让你一眼就能看出你的错误,出现在哪个文件的第几行中。这对于用C/C++做的大工程非常的管用。
综上所述32条,都是为了三大目的--
  1、程序代码的易读性。
  2、程序代码的可维护性,
  3、程序代码的稳定可靠性。
  
有修养的程序员,就应该要学会写出这样的代码!这是任何一个想做编程高手所必需面对的细小的问题,编程高手不仅技术要强,基础要好,而且最重要的是要有"修养"
好的软件产品绝不仅仅是技术,而更多的是整个软件的易维护和可靠性。  
软件的维护有大量的工作量花在代码的维护上,软件的Upgrade,也有大量的工作花在代码的组织上,所以好的代码,清淅的,易读的代码,将给大大减少软件的维护和升级成本
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表