1. 程式人生 > >Objective-C 程式設計 第十二章

Objective-C 程式設計 第十二章

預處理程式

預處理程式語句使用#開頭,一行中的第一個非空字元。

大部分內容都與C語言類似,相當於複習啦。

12.1 #define語句 - 巨集

  1. 預定義不是變數。不能為它賦值。實際上是字元的簡單替換。
  2. #define語句常放在#import或#include語句後邊。
  3. 定義一個名稱後,可以在任何地方使用。一般放在標頭檔案,方便在多個原始檔中使用。
  4. 所有預定義的名稱常都使用大寫。
  5. 預定義的值本身可以引用其它預定義的值。
  6. 可以把if判斷語句放在預定義中,方便理解。
  7. 注意在使用括號,確保替換時的正確性。

12.2 import語句

  1. 預處理程式在系統中尋找指定的檔案,並且有效地把檔案的內容複製到程式出現#import語句的確切位置。
  2. 使用<>時,會在特殊的系統標頭檔案目錄中尋找包含檔案,當前目錄不會被搜尋,可以使用Xcode修改。
  3. 使用”“時,會指示預處理程式在一個或者多個檔案目錄(通常,首先在包含原始檔的目錄中查詢,但是通過修改適當的“專案設定”,可以用Xcode指定預處理程式搜尋的確切位置)中尋找指定的檔案。
  4. #import UIKit; 是匯入一個模組。

12.3 條件編譯

  1. #ifdef, #else ,#endif. #ifndef; 防止標頭檔案多次引用,常用。
  2. 通過 #define IPAD 1 或者 #define IPAD就可以達到定義了的目標。
  3. 也可以在編譯選項中新增-D IPAD來達到目標。(這個選項要在程式名稱之前輸入)
  4. #if A > B | #else | #endif
  5. #ifdef 等同於 #if defined (A) | #ifndf 等同於 #if !defined(A)
  6. 常用的#if defined(A) && A
  7. #if 0 … #endif,用來註釋程式碼段非常方便。
  8. #undef IPAD, 這之後IPAD就進入了未定義狀態。