找回密码
 注册
搜索
查看: 1213|回复: 16

[讨论] 求助:宏函数里条件编译

[复制链接]
发表于 2009-2-25 21:19:03 | 显示全部楼层 |阅读模式
  怎么在函数里面现实宏条件编译?[em06][/COLOR]
发表于 2009-2-27 19:36:40 | 显示全部楼层
表里如一啊!
点评回复

使用道具 举报

 楼主| 发表于 2009-2-27 20:09:43 | 显示全部楼层
2楼什么意思?[em25]
“表里如一”何解???
点评回复

使用道具 举报

发表于 2009-2-28 13:08:32 | 显示全部楼层
告诉我你想干什么先?贴点代码举例!我再告诉你什么意思!
点评回复

使用道具 举报

 楼主| 发表于 2009-2-28 13:24:00 | 显示全部楼层
比如:
#define MMI_BT_CHANGE_STATE( s )  {#ifdef __XXX__        \*这里的条件编译能实现不?编译不过的*\           if( (MMI_BT_CTX(state) != MMIBT_STAT_AUTH_WAIT )#else        if( (MMI_BT_CTX(state) != MMIBT_STAT_PANIC_RECOVER )#endif\        [/COLOR]       
                {                          MMI_TRACE((MMI_TRACE_G7_MISC, MMI_BT_G7_STATE_CHANGE, MMI_BT_CTX(state), MMI_BT_CTX(state), s, s ));                        MMI_BT_CTX(state) = s;                 }}
点评回复

使用道具 举报

 楼主| 发表于 2009-2-28 13:26:53 | 显示全部楼层
#define MMI_BT_CHANGE_STATE( s )  {#ifdef __XXX__[/COLOR]        \*这里条件编译能实现不?编译不过的!*\        if( (MMI_BT_CTX(state) != MMIBT_STAT_AUTH_WAIT )#else[/COLOR]        if( (MMI_BT_CTX(state) != MMIBT_STAT_PANIC_RECOVER )
#endif[/COLOR]\               
                {                          MMI_TRACE((MMI_TRACE_G7_MISC, MMI_BT_G7_STATE_CHANGE, MMI_BT_CTX(state), MMI_BT_CTX(state), s, s ));                        MMI_BT_CTX(state) = s;                 }}
点评回复

使用道具 举报

 楼主| 发表于 2009-2-28 13:35:20 | 显示全部楼层
  #defineMMI_BT_CHANGE_STATE(s)

  {

  #ifdef__XXX__        \*这里条件编译能实现不?编译不过的!(注解原本不存在)*
          if((MMI_BT_CTX(state)!=MMIBT_STAT_AUTH_WAIT)

  #else

          if((MMI_BT_CTX(state)!=MMIBT_STAT_PANIC_RECOVER)

  #endif\               

                  {

                          MMI_TRACE((MMI_TRACE_G7_MISC,MMI_BT_G7_STATE_CHANGE,MMI_BT_CTX(state),MMI_BT_CTX(state),s,s));

                          MMI_BT_CTX(state)=s;

                  }

  }

  郁闷:还是看附件吧,生成的里面有转义"\".

  【文件名】:09228@52RD_marco_comple.rar

  【格式】:rar

  【大小】:K

  【简介】:

  【目录】:

  
点评回复

使用道具 举报

发表于 2009-3-1 20:27:26 | 显示全部楼层
换一种写法试试:
#ifdef __XXX__
#define MMI_BT_CHANGE_STATE( s )  
{        if( (MMI_BT_CTX(state) != MMIBT_STAT_AUTH_WAIT )
                {                          MMI_TRACE((MMI_TRACE_G7_MISC, MMI_BT_G7_STATE_CHANGE, MMI_BT_CTX(state), MMI_BT_CTX(state), s, s ));                        MMI_BT_CTX(state) = s;                 }}
#else
#define MMI_BT_CHANGE_STATE( s )  
{        if( (MMI_BT_CTX(state) != MMIBT_STAT_PANIC_RECOVER )
                {                          MMI_TRACE((MMI_TRACE_G7_MISC, MMI_BT_G7_STATE_CHANGE, MMI_BT_CTX(state), MMI_BT_CTX(state), s, s ));                        MMI_BT_CTX(state) = s;                 }}
#endif[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2009-3-1 20:59:49 | 显示全部楼层
8#楼:
这样是个好办法。我已经用这个方法实现了,O(∩_∩)O谢谢
点评回复

使用道具 举报

发表于 2009-3-2 21:49:57 | 显示全部楼层
对于宏,只需要记住两个字:替换!另外,并非只要是宏就能提高代码效率!
点评回复

使用道具 举报

 楼主| 发表于 2009-3-3 22:10:31 | 显示全部楼层
(⊙o⊙)哦,dollfacedboy 说的 很对,
宏其实就是替换,学习了,O(∩_∩)O谢谢
点评回复

使用道具 举报

发表于 2009-7-20 20:43:13 | 显示全部楼层
MTK里面的宏定义的实在是太多了
点评回复

使用道具 举报

发表于 2009-8-13 18:01:10 | 显示全部楼层
学习了,O(∩_∩)O谢谢
点评回复

使用道具 举报

发表于 2009-8-21 13:46:31 | 显示全部楼层
[em12]
点评回复

使用道具 举报

发表于 2009-9-2 14:58:40 | 显示全部楼层
[em14]
点评回复

使用道具 举报

发表于 2010-6-25 00:02:28 | 显示全部楼层
这个要顶的
点评回复

使用道具 举报

发表于 2010-6-29 17:38:12 | 显示全部楼层
xie xie le  haha
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2025-2-26 06:57 , Processed in 0.060220 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表