下面一个断言:EVUTIL_ASSERT(chain->refcnt > 0);
看其实现:
#define EVUTIL_ASSERT(cond) EVUTIL_NIL_CONDITION_(cond)
#define EVUTIL_NIL_CONDITION_(condition) do {\
(void)sizeof(!(condition));\
}while(0)
疑问
- EVUTIL_ASSERT(cond)是一个断言吗?如果不是,那么这是在干什么?
- 强制转换成void这是在干什么?