为什么我遇到的 C 源代码有时会被do...while(0)
循环包裹?
do {
parser->http_errno = e;
parser->error_lineno = __LINE__;
} while (0)
为什么使用它,而不是这个:
parser->http_errno = e;
parser->error_lineno = __LINE__;
我怀疑这与线程安全有关,但我不确定。