gpt4 book ai didi

你能为条件编译定义一个函数风格的宏吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:32 25 4
gpt4 key购买 nike

是否可以为条件编译定义一个名为 IPHONE_ONLY 的宏,如下所示:

IPHONE_ONLY -(void)myMethod {
//method body
}

IPHONE_ONLY( -(void)myMethod {
//method body
})

最佳答案

尽管通常您会用 #ifdef 包围该函数,但我用 gcc 进行了测试,实际上下面的代码也有效。不知道是不是标准:

#ifdef IPHONE
# define IPHONE_ONLY(...) __VA_ARGS__
#else
# define IPHONE_ONLY(...)
#endif

IPHONE_ONLY(int func(void)
{
return 12;
})

虽然我从未见过有人这样编写代码。像这样编写这样的函数是很常见的:

#ifdef IPHONE
int func(void)
{
return 12;
}
#endif

您的编辑器也会对此感到高兴,因为它理解函数,但不理解用作宏参数的函数体!

关于你能为条件编译定义一个函数风格的宏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14684946/

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