我试图让 x 宏与 do while 0 一起工作,因为checkpatch.pl对此不满意。然而,它打破了逻辑。想知道是否有人有任何建议让它发挥作用?
#define X_TYPES do { \
X(BABA, "baba") \
X(INVALID, "invalid") \
} while (0)
#define X(type, name) type,
enum x_type {
X_TYPES
};
#undef X
#define X(type, name) name,
const char *x_name[] = {
X_TYPES
};
#undef X
int main()
{
return 0;
}