我们可以在#if语句中调用函数吗?

时间:2010-11-15 03:10:06

标签: c if-statement c-preprocessor

这可能在C?

#if functionA() < functionB() 
    //... 
#endif 

4 个答案:

答案 0 :(得分:7)

仅当functionAfunctionB是宏而不是函数时。

答案 1 :(得分:0)

#if语句是一个预处理器语句,代码函数不可用(但macros是)。

C Programming提供了C预处理器使用的简单概述。

答案 2 :(得分:0)

如果functionAfunctionB在编译时扩展为整数常量,则可以对它们进行比较。这可能发生的唯一方法是,如果它们是宏,而不是函数,正如dan04所解释的那样。更多详细信息可以在the gcc documentation for #if中找到,无论您使用何种编译器或平台,这都是适用的。

答案 3 :(得分:0)

不,我们不能将函数作为generateJWT指令的条件调用。 #if中的条件只需要是一个常量表达式。