c - 预处理器不同的函数名称相同的功能

标签 c macros c-preprocessor

我有一个函数定义为

int abc()
{
    // Some code here...
}

我需要集成可能具有相同函数名称“abc()”的多个项目。我想要一个像这样的预处理器

#if defined PREPROCESSOR1
    int A_abc()
#else
    int abc()
#endif
    {
        // Some code here...
    }

是否可以用宏之类的东西来替换它,而不是在代码中逐行更改?

最佳答案

你可以这样做:

#ifdef PREPROCESSOR1
#define ABC A_abc
#else
#define ABC abc
#endif

int ABC()
{
    // Some code here...
}

关于c - 预处理器不同的函数名称相同的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21690158/

相关文章:

macros - 如何在 ImageJ 中裁剪堆栈而不先复制

在 C 程序的宏预处理器中调用内联函数

c - 使用枚举定义单个值的优点? (C)

c - 在 C 中评估字符串中的类型标识符 (%d)

visual-studio-code - vscode 如何打印(或粘贴)所有打开的文件路径到编辑器中的新文件?

无符号类型与有符号类型的比较

c++ - 找不到#define 的函数定义

c++ - C 预处理器中的递归是否滥用了标准中的不一致?

c - 所有节点的id与最后添加的节点id相同

c - 在 C 中,你是否应该始终使用 'int' 作为数字,即使它们是非负数?