Objective-C之成魔之路【13-预处理程序】
郝萌主傾心貢獻。尊重作者的勞動成果,請勿轉載。
假設文章對您有所幫助。歡迎給作者捐贈。支持郝萌主,捐贈數額任意。重在心意^_^?
我要捐贈:?點擊捐贈
Cocos2d-X源代碼下載:點我傳送
預處理提供了一些工具,使用這些工具更易于開發、閱讀、改動程序,
也易于將程序移植到不同的系統中。
你也能夠使用預處理程序定制Objective-C語言,以適應特定應用的編程或自己的編程風格。
預處理程序是Objective-C編譯過程的一部分。它能夠識別散布在程序中的特定語句。
預處理程序使用井號#標記,這個符號必須是一行中的第一個非空格字符。
#define語句:
#define語句的基本用途之中的一個就是給符號名稱指定程序常量。
提前定義名稱不是變量。因此。不能為它賦值,除非替換指定值的結果實際是一個變量。
#define語句常常放在程序的開始,但#import或include語句之后。
提前定義的名稱和變量的行為方式不同:沒有局部定義之類的說法。
全部提前定義的名稱都用大寫,這樣easy區分一個名稱是變量名、對象名、類名,還是提前定義名稱。
其實。提前定義名稱一出現。預處理程序就運行文本替換,
這能夠解釋為什么通常不能使用分號結束#define語句的原因。
注意。又一次定義底層語言語法的(#define AND &&)行為通常不是好的編程習慣。
并且不easy讓他人理解你的代碼。
假設須要第二行,那么上一行的最后一個字符必須是反斜杠。\
注意,在定義有參數的名稱時,提前定義名稱和參數列表的左括號之前不同意空格。
后面使用參數的地方要用括號括起來。
#define SQUARE(x) ? ((x) * (*))
#import語句:
預處理程序同意你將全部的定義收集到一個單獨文件里。然后使用#import語句把它們包括在程序中。
這個主要能差別“”。和<>。“”是在本地路徑查詢,<>是在系統路徑查詢。
條件編譯:
通經常使用于創建能夠在不同的計算機系統上編譯執行的程序。它還經經常使用來開關程序中的各種語句。
#ifdef, #endif, #else, #ifndef和#undef這些都和c語言一樣。
#ifdef DEBUG
#if defined (DEBUG)
作用是同樣的。
#undef用于消除已經定義的名稱
轉載于:https://www.cnblogs.com/yangykaifa/p/6710052.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Objective-C之成魔之路【13-预处理程序】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电梯演说模板作业
- 下一篇: github托管代码