Iphone <;AppName>;。pch文件使用
.pch文件的重要性以及“#ifdefOBJC”的意义是什么Iphone <;AppName>;。pch文件使用,iphone,cocoa,ios,pch,Iphone,Cocoa,Ios,Pch,.pch文件的重要性以及“#ifdefOBJC”的意义是什么 此外,我们在何处定义参数,如“#ifdef IS_PRODUCTION”,这些参数签入.pch文件。。pch是预编译头 在C和C++编程语言中,头文件是一个文件,它的文本可以由C预处理器自动地包含在另一个源文件中,通常是通过源文件中的编译器指令来指定的。 #ifdef OBJC让编译器知道代码是Objective-C < >代码> {IFDEF ISSuffue< /Cord> >是您自己定义的一个指令,它告诉编译器只有在被定义时才
此外,我们在何处定义参数,如“#ifdef IS_PRODUCTION”,这些参数签入.pch文件。
。pch
是预编译头
在C和C++编程语言中,头文件是一个文件,它的文本可以由C预处理器自动地包含在另一个源文件中,通常是通过源文件中的编译器指令来指定的。
让编译器知道代码是Objective-C#ifdef OBJC
< >代码> {IFDEF ISSuffue< /Cord><强> >是您自己定义的一个指令,它告诉编译器只有在被定义时才做一些事情,最有可能是用于生成构建的东西。
。PCH文件允许您避免导入UIKIT.H和Buff.H等常见文件。如果在.pch中导入了这些文件,则您自己的类不需要导入它们
#ifdef OBJC的意义在于,如果没有将编译器设置为生成目标c代码,则不会导入包含目标c代码的头文件(因此避免了大量编译器错误)您可以在目标的生成设置中定义参数,如IS_PRODUCTION。我通常在“其他C标志”中执行此操作。Ok。“ifdef OBJC”的意义是什么?还有,我们在何处定义我们放入if条件中的宏,如“#ifdef IS#u PRODUCTION”?您可以在任何地方定义这些宏,使用它们,只需导入它们所在的文件。可能有点保留,但“
#ifdef OBJC
让编译器知道代码是Objective-C”是非常误导的,因为它不会“告诉”任何人任何事情,而是简单地检查ObjC在编译时是否已知/可用,并确保在编译期间忽略其包含的代码。在10个案例中,有9个案例的效果可能是相同的,但技术含义却大不相同。编译器不会通过#ifdef OBJC
获得更多信息,相反。它最终会导致代码的遗漏(并且可能是关键的)。