iOS宏關(guān)閉NSLog輸出

Release版本關(guān)閉Log輸出

#ifdef DEBUG

#define NSLog(...) NSLog(__VA_ARGS__)

#else

#define NSLog(...)

#endif 

輸出更詳細(xì)的調(diào)試信息

#ifdef DEBUG  

# define DLog(fmt, ...)  NSLog((@"[文件名:%s]\n" "[函數(shù)名:%s]\n" "[行號:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);  

#else  

# define DLog(...);  

#endif

1)  __VA_ARGS__ 是一個(gè)可變參數(shù)的宏,這個(gè)可變參數(shù)的宏是新的C99規(guī)范中新增的,目前似乎只有g(shù)cc支持(VC6.0的編譯器不支持)。
    宏前面加上##的作用在于,當(dāng)可變參數(shù)的個(gè)數(shù)為0時(shí),這里的##起到把前面多余的","去掉的作用,否則會編譯出錯(cuò), 你可以試試。
2) __FILE__ 宏在預(yù)編譯時(shí)會替換成當(dāng)前的源文件名
3) __LINE__宏在預(yù)編譯時(shí)會替換成當(dāng)前的行號
4) __FUNCTION__宏在預(yù)編譯時(shí)會替換成當(dāng)前的函數(shù)名稱

參考文章:
iOS開發(fā)-使用宏自定義輸出(NSLog)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 人都有說謊的毛病 其中,最容易脫口而出的一句謊言就是:“沒事,我很好。” 生病了自己照顧著 難過了自...
    春雨_699e閱讀 464評論 0 3
  • 曾在朋友圈發(fā)過幾篇自己的短文,朋友們有點(diǎn)出于禮貌和鼓勵(lì),或點(diǎn)贊留言,或評論轉(zhuǎn)發(fā)。于是不經(jīng)意間在朋友同事中就把我歸到...
    注定遠(yuǎn)行閱讀 552評論 1 0
  • 家國情懷,這是看這本書,腦海一直浮現(xiàn)的四個(gè)字,那個(gè)戰(zhàn)爭的年代,因?yàn)橛羞@些飽懷家國情懷的人,才換得我們今日的安定和平...
    夏子f閱讀 409評論 0 0
  • 老同學(xué)好,最近有個(gè)問題一直困擾著我,盼指導(dǎo) 兒子現(xiàn)在在重慶交通大學(xué)(土木工程專業(yè))上學(xué),就是永杰上的...
    阿甘1972閱讀 127評論 0 0
  • 冬瓜有個(gè)迷夢 也許這世間沒有所謂的天長地久,你以為那個(gè)還愛著你的少年,早已在時(shí)光的雕琢中成為了別人的新郎。若是去愛...
    月漫漫閱讀 391評論 0 2

友情鏈接更多精彩內(nèi)容