版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

代码块
int n;
...
int a = n % (10e9 + 7); // 错误,10e9+7 最终类型是浮点型,不可以用于求余运算
int a = n % ((int)10e9 + 7) // 正确 


待确认:结构体位域按1字节对齐,相邻位域不填充。


用宏可以实现的一些骚操作,比如下面这个宏:

代码块
#define HI_APPCOMM_LOG_AND_RETURN_IF_FAIL(ret, errcode, errstring) \
    do {                                                           \
        if ((ret) != HI_SUCCESS) {                                 \
            MLOGE("[%s] failed[0x%08X]\n", (errstring), (ret));    \
            return (errcode);                                      \
        }                                                          \
    } while (0)

这个宏可以处理常见的根据返回值退出的操作。