gpt4 book ai didi

将函数名称中的前缀与宏连接起来?

转载 作者:行者123 更新时间:2023-11-30 18:27:17 25 4
gpt4 key购买 nike

我想在函数名称的开头连接一些宏:

#include <stdio.h>

#define PFX mypfx

int PFX##_call() {
printf("teeeeeeeeest");
}

int main(void)
{
mypfxcall();
}

上面的代码在编译时返回错误。

如何在函数名中添加宏前缀?

最佳答案

我不知道你为什么要这样做(也许是因为你想“模拟”命名空间),但假设你使用 C,你可以使用以下代码来实现它。

#define concat2(X, Y) X ## Y
#define concat(X, Y) concat2(X, Y)
#define pfx(x) concat(pfx_, x)

用法:

int pfx(sum)(int x, int y) {
return x + y;
}

int main() {
printf("%d\n", pfx(sum)(5,4));
}

注意:如果您想使用更多的宏处理能力(我不知道是否是您的情况),您应该访问P99

关于将函数名称中的前缀与宏连接起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58115740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com