預處理提供了一些工具,使用這些工具更易於開發、閱讀、修改程式,
也易於將程式移植到不同的系統中。
你也可以使用預處理程式定製objective-c語言,以適應特定應用的程式設計或自己的程式設計風格。
預處理程式是objective-c編譯過程的一部分,它可以識別散布在程式中的特定語句。
預處理程式使用井號#標記,這個符號必須是一行中的第乙個非空格字元。
#define語句:
#define語句的基本用途之一就是給符號名稱指定程式常量,其本質就是文字的替換。
預定義名稱不是變數。因此,不能為它賦值,除非替換指定值的結果實際是乙個變數。
#define語句經常放在程式的開始,但#import或include語句之後,預定義的值可以應用另乙個預定義的值。
預定義的名稱和變數的行為方式不同:沒有區域性定義之類的說法,可以在程式的任何地方使用它。
所有預定義的名稱都用大寫,這樣容易區分乙個名稱是變數名、物件名、類名,還是預定義名稱,或者在定義的字母之前加k。
事實上,預定義名稱一出現,預處理程式就執行文字替換,
這可以解釋為什麼通常不能使用分號結束#define語句的原因。
注意,重新定義底層語言語法的(#define and &&)行為通常不是好的程式設計習慣,
而且不容易讓他人理解你的**。
如果需要第二行,那麼上一行的最後乙個字元必須是反斜槓。\
注意,在定義有引數的名稱時,預定義名稱和引數列表的左括號之前不允許空格。
後面使用引數的地方要用括號括起來,每個引數和整個巨集都要用括號括起來。
#define square(x) ((x) * (*))
#import語句:
預處理程式允許你將所有的定義收集到乙個單獨檔案中,然後使用#import語句把它們包含在程式中。
這個主要能區別「」,和<>。「」是在本地路徑查詢,<>是在系統路徑查詢。
條件編譯:
通常用於建立可以在不同的計算機系統上編譯執行的程式,它還經常用來開關程式中的各種語句。
#ifdef, #endif, #else, #ifndef和#undef,#if,#elif這些都和c語言一樣。
#ifdef debug
#if defined (debug)
作用是相同的。
#undef用於消除已經定義的名稱
objective C 預處理程式
作者 robin 預處理程式都是用 標記的 1.define 所有使用 define的定義盡量都使用大寫字母組合.使用預定義名稱有助於加強程式的可擴充套件性.不要在語句後加分號.預定義沒有區域性定義之說,在定義了乙個名稱後,就可以在程式的任何地方使用.用途1 為符號名稱指派常量 define tur...
預處理程式 define
巨集定義由三部分組成,中間用空格分開,define,巨集的名字,主體,巨集的命名和普通的變數命名規則相同,巨集可以被稱為類物件巨集,類函式巨集。define用來定義巨集 以下是程式在編譯前的處理步驟 1.預編譯前,刪除反斜線和換行符的組合,將每個注釋要乙個空格替代 2.進入預編譯時,尋找 由 開頭 ...
六 預處理程式
概念 預處理程式提供了一些工具,使用這些工具能夠使其更加易於開發,閱讀,修改以及移植到不同系統的程式。也能夠訂製objective 語言從而適合自己的程式設計風格。define 用途 給符號名稱指派程式常量 define true 1 這樣的話在程式中使用到true 的地方都用1 來代替 注意 預定...