欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于define的有关问题

更新时间: 2014-01-05 03:14:18 责任编辑: Author_N1

 

关于define的问题
问下我在看资料的时候看到一条语句是这么写的:
#define SI32_RTC_B_CONFIG_RUN_START_U32 \
   (SI32_RTC_B_CONFIG_RUN_START_VALUE << SI32_RTC_B_CONFIG_RUN_SHIFT)
其中:#define SI32_RTC_B_CONFIG_RUN_START_VALUE  1
      #define SI32_RTC_B_CONFIG_RUN_SHIFT  1
我想请问下一般这么些有什么用?我觉得没有任何作用啊,还不如写成:
#define SI32_RTC_B_CONFIG_RUN_START_U32  1;
--参考方法--
编码规则上有一个叫可读性的东西。

其实这两种写法,如果都正确的话,那么在编译器的处理来看,都是一样的

立即数在可读性这个方面有一个专称:魔数。

大概意思是,数字本身并不能直接表达作者的意图,让读代码的人不能很好的理解作者意图

为了增加可读性,在不损失代码性能的情况下,尽量用宏,用常量,用变量名

更深层次的LZ可以看一下《代码大全2》或网上可以下得到的《华为编码规范》等等相关的书籍
--参考方法--
宏定义一般是为了在更改代码时更加方便,仅更改一个定义就可以了。

你所说的这些定义,值是可能更改的。当你在调试中要频繁地改变这些值的时候,就体会到他这样写的用意了。
--参考方法--
为了方便可读性及可移植性 
--参考方法--
为了方便移植和统一修改
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:14:18
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/19895/
本文WWW.DOC100.NET DOC100.NET版权所有。