宏定义函数
https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc.pdf
搜索__VA_ARGS__
#define debug(format, ...) fprintf (stderr, format, __VA_ARGS__)
Here ...
is a variable argument. In the invocation of such a macro, it represents the zero or more tokens until the closing parenthesis that ends the invocation, including any
commas. This set of tokens replaces the identifier __VA_ARGS__
in the macro body wherever
it appears. See the CPP manual for more information.