您好,登錄后才能下訂單哦!
預處理指令使用#內標記。
一 : #define語句
用來定義宏。例如定義:
#define TRUE 1
解釋 : 定義了一個宏名稱為TRUE,并使它的值為1.那么之后TRUE就可以用于程序中所有需要值為1的常量的地方。
測試實例:
在DefineDemo.h中定義宏 : #define TRUE 1 。注意一般將其定義在最上面,如下圖(定義在了#import的上面)
調用的地方:可以在任何地方調用。
①:在DefineDemo.m中調用:
②:在主程序main.m中調用:
結果:
注意 : 宏是只讀的
二 : 條件編譯之 #ifdef , #endif , #else , #ifndef , #elif
#ifdef : 如果存在編譯參數
#ifndef : 如果不存在編譯參數
例如:修改了下DefineDeno.m中Print方法的實現,如下:
我沒有定義編譯參數AINY , 則會打印Ainy not。結果如下,確實如此:
那么問題來了,如何定義一個編譯參數AINY呢 ??????
在Build Settings中:
再次運行結果,則是打印TRUE值1
顯然 : #ifdef , #ifndef 和Build Settings中的如上圖所示的配置是相關的
三 : #if 是判斷常量的
如:
四 : 編譯參數之 #undef : 消除某個編譯參數
如 : #undef AINY , 在這句執行后 , 所有#if AINY 及 #if defined(AINY) 都為FALSE
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。