【发布时间】:2014-10-07 21:00:52
【问题描述】:
我知道我可以使用预处理器宏来有条件地编译某些方法调用,例如:
#if SOMETHING
#define fmod(...)
#endif
...
fmod(34.0, 452.0); //this line doesn't get compiled if SOMETHING != 0.
我可以使用相同的过程来有条件地编译带有左括号和右括号的方法调用吗?
假设我想有条件地编译对类MyClass的所有调用:
[MyClass doSomething];
[MyClass doSomethingElse];
#define MyClass[...] 产生:
[ doSomething];
这是一个错误。有什么想法吗?
【问题讨论】:
-
看起来像XY problem?你想通过有条件地编译发送到
MyClass的消息来完成什么? -
看,XY 问题在 Stackoverflow 上是受欢迎的,因为它们是 "practical, answerable questions based on actual problems that you face",除了它们在智力上很有价值。此外,这不是 XY 问题,因为我的问题是有条件地编译发送到
MyClass的消息。 -
仅供参考,C++ 和 C 都不支持方括号表示法。您使用哪种语言编写?
-
语言是Objective-C。
标签: objective-c c-preprocessor preprocessor-directive