pch文件相對路徑
**Precompile Prefix Header**的值設(shè)置為**YES**
$(SRCROOT)/項目/pch目錄/PrefixHeader.pch
hong
#define DEBUG
//宏輸出函數(shù)
#ifdef DEBUG
#define YYLog(fmt, ...) NSLog((@"%s," "[lineNum:%d]" fmt) , __FUNCTION__, __LINE__, ##__VA_ARGS__); //帶函數(shù)名和行數(shù)
#define SL_Log(fmt, ...) NSLog((@"===[lineNum:%d]" fmt), __LINE__, ##__VA_ARGS__); //帶行數(shù)
#define SC_Log(fmt, ...) NSLog((fmt), ##__VA_ARGS__); //不帶函數(shù)名和行數(shù)
#else
#define SFun_Log(fmt, ...)
#define SL_Log(fmt, ...)
#define SC_Log(fmt, ...)
#endif
只需要在Product ->Scheme->Edit Scheme ->info選擇,是release ,還是debug版本即可。如果debug 版本,則答應(yīng)log,若release版本則不打印。
release 是發(fā)行版本,比debug版本要小一些,他們調(diào)用兩個不同底層庫,debug 包含的信息多,可以斷點(diǎn)調(diào)試,單步執(zhí)行,使用使用TRACE/ASSERT等調(diào)試輸出語句,
但是release 版本不包含調(diào)試信息,運(yùn)行速度比較快。
另外在此處設(shè)置的DEBUG 參數(shù)可以在下面的路徑進(jìn)行設(shè)置:工程->Target->Build Setting ->Preprocessor Macros。默認(rèn)系統(tǒng)已經(jīng)給出了DEBUG的參數(shù)。如果要增加新的參數(shù),則在哪里進(jìn)行增加
——FILE——宏在預(yù)編譯時,會替換成當(dāng)前的源文件名字
——LINE——替換成當(dāng)前的行號
——FUNCTION——替換成當(dāng)前的函數(shù)的名稱
——VA—ARGS——可變參數(shù)的宏,宏前面加上##作用在于:當(dāng)當(dāng)可變參數(shù)的個數(shù)為0 的時候,這里的##起到把前面多余的,去掉的作用。否則編譯出錯。