宏定义及pch文件相对路径

pch文件相对路径

**Precompile Prefix Header**的值设置为**YES**
$(SRCROOT)/项目/pch目录/PrefixHeader.pch

hong

#define DEBUG

//宏输出函数

#ifdef DEBUG

#define YYLog(fmt, ...) NSLog((@"%s," "[lineNum:%d]" fmt) , __FUNCTION__, __LINE__, ##__VA_ARGS__); //带函数名和行数

#define SL_Log(fmt, ...) NSLog((@"===[lineNum:%d]" fmt), __LINE__, ##__VA_ARGS__);  //带行数

#define SC_Log(fmt, ...) NSLog((fmt), ##__VA_ARGS__); //不带函数名和行数

#else

#define SFun_Log(fmt, ...)

#define SL_Log(fmt, ...)

#define SC_Log(fmt, ...)

#endif

只需要在Product ->Scheme->Edit Scheme ->info选择,是release ,还是debug版本即可。如果debug 版本,则答应log,若release版本则不打印。

release 是发行版本,比debug版本要小一些,他们调用两个不同底层库,debug 包含的信息多,可以断点调试,单步执行,使用使用TRACE/ASSERT等调试输出语句,
但是release 版本不包含调试信息,运行速度比较快。
另外在此处设置的DEBUG 参数可以在下面的路径进行设置:工程->Target->Build Setting ->Preprocessor Macros。默认系统已经给出了DEBUG的参数。如果要增加新的参数,则在哪里进行增加

——FILE——宏在预编译时,会替换成当前的源文件名字
——LINE——替换成当前的行号
——FUNCTION——替换成当前的函数的名称
——VA—ARGS——可变参数的宏,宏前面加上##作用在于:当当可变参数的个数为0 的时候,这里的##起到把前面多余的,去掉的作用。否则编译出错。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容