有人能给我解释一下这个语法“#define HASH_IS_REAL(h_) ((h_) >= 2)”

Can someone explain me this syntax "#define HASH_IS_REAL(h_) ((h_) >= 2)"

我尝试从这个 http://tigcc.ticalc.org/doc/cpp.html 获得帮助。但是找不到这样的例子。此语法取自 Glib/ghash.c

#define HASH_IS_REAL(h_) ((h_) >= 2)

这定义了一个带有参数的宏。编译 C 文件时,编译器运行预处理器并用宏定义的规则替换出现的 HASH_IS_REAL

如果您的代码有

int x = 18;
if(HASH_IS_REAL(x))
{
}

预处理器将其更改为

int x = 18;
if(((x) >= 2))
{
}

有关宏和 C 预处理器的详细信息,请参阅 thisthis.