tip文, 如需转载, 请注明出处@TEASON
Xcode
升级之后新项目没有.pch
文件了, 预编译还是挺好用的, 当然要注意一些细节 . 尤其是定义全局常量不能疯狂的使用#define
.
如果你不知道怎么添加入预编译文件, 点击这个链接的文章
说一下要注意的点 .
- 不要用
#define
预处理指令定义常量, 这样定义出来的常量不含类型信息 . 编译器只会在编译前根据此执行查找与替换 . 即使有人重新定义了常量值. 编译器也不会产生警告. 这将会使你的常量在多处导致不一致 . - 在实现文件中使用
static const
来定义只在编译单元内可见的常量. 由于此类常量不在全局符号表中, 所以无须为其添加前缀. (也有人以k
为前缀 .) - 在头文件中使用
extern
来声明全局常量. 并在相关实现文件中定义其值. 这种常量要出现在全局符号中. 所以其名称应该加以区别开, 通常以相关的类名作为前缀 .