- OC编程中包含一个预处理器,用于在编译前处理源文件。而预处理指令有其自己的一套语法,主要也是配合预处理文件pch使用比较多。
- 指令
-
头文件包含(#include, #import)
-
条件编译(#if, #elif, #else, #endif, #ifdef, #ifndef )
说明: 简单的 #if #elif 这些跟平时的判断预计是一样的。
#ifdef 如果有定义,就执行
#ifndef 如果没有定义,就执行 -
诊断(#error, #warning # line)
-
(#pragma) 指令 提示分段使用
-
宏 #define 有名称的代码段。
-
在Xcode6之前创建新工程它会在工程的Supportting files 文件夹下面自动创建一个.pch文件。这是一个预编译文件
1.主要用于存放全局的宏定义
2.一些头部文件,比如全局都会使用的单例文件
3.设置调试信息的开关 -
头文件的导入
预编译文件.jpg
配置路径.jpg这里需要手动的去配置文件的路径和开启预编译。
输入引用路劲 $(SRCROOT)/OC_Demo/PrefixHeader.pch
智能的导入成 绝对路径。
-
将这段定义放到pch文件中,在调试状态时候开启日志输出
#ifdef DEBUG // 调试状态
#define LOG() NSLog(@"开启调试LOG--");
#else // 发布状态
#define LOG()
#endif -
在pch文件代码已经设置好,还要去配置中设置好你所要用到的参数的值用于控制pch文件的访问,分别是打包编译的debug和release版本状态值。这里设置DEBUG = 1 而 Release 不设置参数。
分别选着运行时候的build状态,就可以看到输入日志中有没有执行相应的宏定义了。
- 打包运行状态的设置在 edit shceme 这里可以选择build的设置
-
修改run中的build configuration
打包运行状态修改.png -
在main()文件中添加 LOG();
-
分别更改打包状态后的运行结果
debug版本:
debug的运行结果.png
release版本:
release版本的运行结果.png
简单是设置就可以控制打包时候日志的关闭和开启了
网友评论