1. 程式人生 > >iOS-#ifdef DEBUG程式碼塊介紹

iOS-#ifdef DEBUG程式碼塊介紹

iOS-#ifdef DEBUG巨集定義介紹

一.#ifdef DEBUG程式碼塊

#ifdef DEBUG
    // Debug 模式的程式碼...
#else
    // Release 模式的程式碼...
#endif

二.#DEBUG定義

其中的DEBUG是在Xcode預設的工程中已經定義好的,也可以根據自己的實際情況新增其他常量定義。

在Xcode中,DEBUG位置為Xcode工程->TAGGETS->Build Setting->preProcessing
如圖:

在程式預定義巨集的位置定義了。

三.debug 和 release之間的關係

在ios中,我們經常看到有debug和release兩種模式。其實這兩種模式分別表示發行版本和除錯版本。

Release是發行版本,比Debug版本有一些優化,檔案比Debug檔案小 Debug是除錯版本,Debug和Release呼叫兩個不同的底層庫。
一、”Debug是除錯版本,包括的程式資訊更多”
二、只有DEBUG版的程式才能設定斷點、單步執行、使用TRACE/ASSERT等除錯輸出語句。
三、REALEASE不包含任何除錯資訊,所以體積小、執行速度快。

四.xcode切換debug和release版本

如果要測試在不同模式下程式碼的執行效果,可以選擇Product->Scheme->Edit Scheme,修改Build Configuration即可,如下圖所示: