if (a==5)
{
#define FLAG 1
}
#ifdef FLAG
{
// Execute this portion else not
}
#endif
我想将它用作标志变量,如果定义了变量(在运行时取决于条件),那么#ifdef中的代码将被执行,否则不会执行。
如果在c编程中这是不可能的,请建议我实现相同的最佳方法。 这可以帮助更快地执行代码。还减少了编译时间
答案 0 :(得分:1)
bool flag = false;
if (a == 5)
{
flag = true;
}
if (flag)
{
// [...]
}
答案 1 :(得分:1)
1)FLAG
不是变量,它是预处理器符号
2)预处理器从上到下运行,定义符号(或取消定义它们),无论你的可编译的代码逻辑(当然它不依赖于它),在它是偶数之前编译。因此,在您的示例中,#ifdef
将始终有效。
3)要实现您想要的功能,只需使用常规的if / else语句。