我有以下c代码:
#define ASSERT_ACTIVE(active) do { if (!active) return errno = 6, -1; } while (0);
#define errno (*_errno())
int someCrazyFunc (bool active) {
ASSERT_INACTIVE (active);
...
}
据我所知,a#define
将简单地放置替换文本来代替指定的标识符。
我想知道:
- 是什么
return errno = 6, -1;
意思?是在一个返回语句中返回两个值吗? - 替换代码是什么意思
(*_errno()) = 6