什么';iPhone中使用了#ifdef和#endif处理器指令吗?
我想知道关于#ifdef、#ifndef和#endif的用法,以及在哪种情况下,必须使用这些条件句,以及它的用途是什么?“ifdef”和“ifndef”有什么区别 例如:什么';iPhone中使用了#ifdef和#endif处理器指令吗?,iphone,preprocessor,using-directives,Iphone,Preprocessor,Using Directives,我想知道关于#ifdef、#ifndef和#endif的用法,以及在哪种情况下,必须使用这些条件句,以及它的用途是什么?“ifdef”和“ifndef”有什么区别 例如: #define MY_Global #ifdef MY_Global // write some code (Inside the method) #endif 或者 哪一个是正确的,它应该只写在方法内部还是在方法外部工作?。我以前没用过这个。那么请解释一下 谢谢 AFAIK,#ifdef=“如果定义”和#ifnde
#define MY_Global
#ifdef MY_Global
// write some code (Inside the method)
#endif
或者
哪一个是正确的,它应该只写在方法内部还是在方法外部工作?。我以前没用过这个。那么请解释一下
谢谢 AFAIK,#ifdef=“如果定义”和#ifndef=“如果未定义”。这些条件非常有用,例如,如果您希望仅为模拟器编译特定代码,那么您可以编写如下代码:
#if TARGET_IPHONE_SIMULATOR
#import "AccelerometerSimulation.h"
#endif
这意味着,在为模拟器编译时,将导入AccelerometerSimulation.h。如果您是在设备上编译,它将被完全忽略。希望对您有所帮助。第二个选项意味着如果未定义MY\u Global,则将完全缺少
自定义方法。事实上,您可以编写。\if defined(NAME)
和\if!已定义(名称)
而不是\ifdef NAME
和\ifndef NAME
。这还允许您一次性测试多个名称的定义:#如果已定义(NAME1)和&defined(NAME2)
。
#if TARGET_IPHONE_SIMULATOR
#import "AccelerometerSimulation.h"
#endif