C语言#if 0阻止代码段


本文向大家介绍C语言#if 0阻止代码段,包括了C语言#if 0阻止代码段的使用技巧和注意事项,需要的朋友参考一下

示例

如果有部分代码正在考虑删除或要暂时禁用,则可以使用块注释将其注释掉。

/* Block comment around whole function to keep it from getting used.
 * What's even the purpose of this function?
int myUnusedFunction(void)
{
    int i = 5;
    return i;
}
*/

但是,如果您在块注释中包含的源代码在源代码中包含块样式注释,则现有块注释的结尾* /可能导致您的新块注释无效并导致编译问题。

/* Block comment around whole function to keep it from getting used.
 * What's even the purpose of this function?
int myUnusedFunction(void)
{
    int i = 5;

    /* Return 5 */
    return i;
}
*/

在前面的示例中,编译器可以看到函数的最后两行和最后的'* /',因此编译时会出错。一种更安全的方法是在#if 0要阻止的代码周围使用指令。

#if 0
/* #if 0 evaluates to false, so everything between here and the #endif are
 * removed by the preprocessor. */
int myUnusedFunction(void)
{
    int i = 5;
    return i;
}
#endif

这样做的好处是,当您想返回并查找代码时,搜索“ #if 0”比搜索所有注释要容易得多。

另一个非常重要的好处是您可以使用嵌套注释代码#if 0。这不能用注释来完成。

使用方法的另一种选择#if 0是使用一个名称,该名称不是,#defined但更能说明为什么代码被阻止。例如,如果某个函数似乎是无用的死代码,则您可能会使用它,或者一旦其他功能到位或类似的东西,就需要使用该代码。然后,当删除或启用该源时,很容易找到源的那些部分。#if defined(POSSIBLE_DEAD_CODE)#if defined(FUTURE_CODE_REL_020201)