首页 > 解决方案 > 是否可以使用预处理器指令验证表达式?像 #if (a == b)

问题描述

准确地说,我需要根据空指针检查函数指针。仅当函数指针映射到有效函数而不是空指针时,我才需要编译部分代码。在 c 中有可能吗?

类似于:

#if (function_pointer != NULLpointer)
{
// Code block to be compiled
}

标签: cc-preprocessor

解决方案


你不能。那是运行时评估。所以逻辑是:

if (function_pointer != NULL)
{
   // Code block to be executed
}

推荐阅读