2010-07-11 75 views

回答

3

如果你可以假設調試版本始終使用gcc -O0(這是正常的情況,但也有可能是奇數例外,其中有人已更改優化級別調試版本),那麼你可以這樣做:

#if __OPTIMIZE__ 
    // ... non-debug stuff ... 
#else 
    // ... debug stuff ... 
#endif 
+0

見下文。使用#if DEBUG – vish 2012-11-09 23:22:55

+0

我讀過__OPTIMIZE__沒有在XCode 4中一直設置。你確認嗎? – Oliver 2013-06-29 00:27:33

5

沒有按默認情況下是有用的,但對於調試版本在「預處理宏」的目標你可以設置一個DEBUG宏建設置,然後執行:

#ifdef DEBUG 
    // do stuff 
#endif 

如果你想自動執行,編輯項目模板"/Developer/Library/Xcode/Project Templates"

  • 查找name = Debug;XCBuildConfiguration部分。
  • buildSettings添加DEBUG到列表GCC_PREPROCESSOR_DEFINITIONS如果存在
  • 否則添加GCC_PREPROCESSOR_DEFINITIONS = (DEBUG);buildSettings

對於每個用戶自定義,並避免它們被覆蓋,見this question

+0

很明顯。 。 。問題是,我必須在每個項目的每個目標中設置DEBUG宏,以便移植相關代碼。 – 2010-07-11 18:12:04

+1

我相信這是現在默認設置(DEBUG = 1) – vish 2012-11-09 23:22:10

相關問題