网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 技术文库 >> 嵌入式 >> 文章正文
  惨痛教训分享给大家,再次体会到程序风格的重要性           ★★★ 【字体:
惨痛教训分享给大家,再次体会到程序风格的重要性
作者:61IC录入    文章来源:本站原创    点击数:    更新时间:2006-4-7    
本人写程序已有很多年,写程序时就相当注意程序格式,但我还是栽在这上面了.

本人程序出现debug,花了很多天都没找到,最后使用最笨的办法,用studio进行每条指令跟踪,终于发现问题所在.

由于本人是汇编和C混合编程,为充分保持定义的一致辞性,我尽量使用相同的.h文档,这种方法是对的,只是我的汇编在编译时要注明是assember-with-cpp.

我的汇编程序如下:

......
#define   VOICE   1      ;this is voice address
......

        ldi   r30, VOICE+1
......


一般我们不会认为这是错误, 很显然,";"是汇编的注释, #define是C语言的预处理,虽然在汇编中使用C的预处理能带来很多好处,但我们还是应该尽量不要纠缠到一起,这就是编程风格问题.上述我的错误就是这样,C语言的预处理器会将VOICE换成"  1      ;this is voice address", 注意,C是不懂";"注释的,最后编译的结果就是
         ldi  r30, 1
而不是我所期望的ldi  r30,2
而且编译程序不会报告任何错误,从语法上它是正确的.而且在debug时带来的错误是灾难的,因为它很难找到,人的特点就是不会去注意"理所当然是正确的"东西.

其实我只要将上述的汇编";"注释换成C的"//"注释就什么问题都没有了,在一行中保持同样的C风格是多么的重要啊.
               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号