`
xusaomaiss
  • 浏览: 608859 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

用C一年,关于宏的感想

阅读更多

做C的工程一年多了,使用宏比较多,

宏定义常被用于做常量定义,一个错误代码之类的定义。

这些原来就是这样用的,感受比较大的还是宏控的作用。

由于底层的工程都是分成模块化的,所以使用宏控进行模块的管理,通过宏开关,在编译时可进行模块选择。

还有就是对同一工程, 不同版本的管理,进行编译。

 

例如:

#ifdef project_1.01  //使用gprs模块

 

#define gprs_mode = ON

 

#else if project_1.02 //或者不使用gprs模块

 

#define gprs_mode =OFF

 

#endif

 

大致就是像上面那样,当然还有使用不同的makefile文件,这种情况只有在版本差异很大时,才去新建一个makefile文件。

 

 

工作一年了,虽然是在使用C,但都是在windows+模拟器 + VC++6.0开发,代码查看都是使用Source Insight ,当然也常用Source Insight 修改代码。make文件核心还是使用ads来编译。

没搞过linux的编程,虽然知道两种差不多,但对交叉编译等,还是没玩过。希望自己以后能去搞linux下的编程。

 

附几个常用的宏定义:

 

//BCD的高低位转换

#define BCD2BIT (((bcd & 0xf0) >> 4) | ((bcd & 0x0f) << 4))

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics