【发布时间】:2014-10-01 13:32:21
【问题描述】:
我想根据字符串比较结果定义一个宏。我尝试的方法不起作用。
#define APP_BUNDLE_IDENTIFIER [[NSBundle mainBundle] bundleIdentifier]
#define APP_EXTENSION_BUNDLE_IDENTIFIER @"abcded"
#define RESULT strcmp(APP_BUNDLE_IDENTIFIER, APP_EXTENSION_BUNDLE_IDENTIFIER)
#if $RESULT == 1
#define TARGET_IS_EXTENSION
#endif
基本上,我试图根据定义的宏来实现我的应用程序将区分原生应用程序和应用程序扩展。
【问题讨论】:
-
请记住,预处理器会进行字符串替换,而不是函数求值。
-
好的,那么实现它的最佳方法是什么?
-
@loganathan 很简单,停止使用宏,使用普通的常量/函数/方法。
标签: ios objective-c c-preprocessor