...
代码块 |
---|
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) |
这个宏可以处理常见的根据返回值退出的操作。