JMVC 宏部分

JMVC的代码非常难以理解,尤其是宏部分

看了一篇专门讲宏的文章,就分享一下吧

本文讨论的宏定义于macros.h

 

大部分宏的开头字母是R , 这次R的含义是 Return

比如 RERR   ,  就是 Return 一个错误值  , 该值定义于ERR 类中的m_nERR.

不在开头位置的字母R , 此时的含义是该宏返回的值并非错误值 , 而是宏所输入的参数

retVal .

比如 ROFR (exp, retVal)  的函数是  if ( !exp )  Return retVal

字母 O  ,  其含义是判断宏的输入参数 exp 的意思  F 的含义是 Fasle, T 的含义是 TRUE

比如  ROF(exp)  其含义就是   if( !exp )  ERRR

ROT(exp) 其含义为 if( exp ) ERRR

 字母 S  , 一般位于宏的末尾 , 其含义是无 Assert 操作 .

前面所说的宏 , 除了已经说明的含义外, 还有一个操作是 Assert( 0 )

但是 如果 宏的尾巴上加了S , 那这个宏不会 Assert( 0 )

好了 这下大部分宏的意思就可以看懂了

RERR , 就是 ASSERT (0 ) ; Return  ERR值

ROF(exp)     就是 if ( !exp ) { ASSERT (0);  RERR }

ROFS(exp)   就是 if( !exp ) { RERR }

ROT(exp)  就是  if( exp ) { ASSERT(0);  RERR }

ROTS( exp ) 就是  if ( exp ) {  ERRR }

ROFR(exp,retVal)  就是 if( !exp ) { ASSERT(0) ; Return retVal; }

ROFRS(exp, retVal) 就是 if( !exp ) { Return retVal; }

 

其他大致如此  .

另外还有几个重要的 , 就是  NOK , 就是要检查值是否等于 ERR 中定义的 m_nOK

比如 RNOK(exp ) 就是  if( exp != OK ){ Assert(0); return exp;}

RNOKR(exp,retVal) 就是 if( exp != OK ) { Assert(0); return retVal; }

还有一个是 A , A 表示 Assert

比如 AF  就是  Assert( False )

ANOK(exp) 就是  if( exp != OK ) { Assert(0) }

AOF( exp )  :   if( !exp )  { Assert(0) }

AOT( exp) :   if( exp ) {  Assert( 0 ) }

 好了   那些难解的宏 大致就这些了 .  

 Reference 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值