詳解Objective-C預處理程序
Objective-C 預處理程序解析,介紹預處理程序中語句的使用方法,預處理程序語句以(#)標記,包括 #define 語句、#import 語句、條件編譯等。objective-c 預處理,objective-c 程序設計,objective-c 程序編譯,預處理程序語句。
#define 語句
1、更高級的定義類型
給符號名稱指派表達式和其他任何東西。如:
以下為引用內容:#define TWO_PI 2*3.141592654,#define AND &&預處理程序假設定義包含在程序的一行中。如果需要第二行,那么上一行的***一個字符必須是反斜線符號“\”。如:
以下為引用內容:#define IS_LEAP_YEAR(y) y%4==0&&y0!=0\ ||y@0==0可帶參數。預定義(definition)通常稱作“宏”。
2、#運算符
如果在宏定義中參數之前放置一個#,那么在調用該宏時,預處理程序將根據宏參數創建C風格的常量字符串。如:
以下為引用內容:#define str(x) #x str(testing)——"testing" str("hello")——"\"hello"\"3、##運算符
用于把兩個標記(token)連在一起。它的前面(或后面)是宏的參數名稱。預處理程序使用調用該宏時提供的實際參數,并且根據該參數和##之后(或之前)的標記創建單個標記。如:
以下為引用內容:/**** desteps.com* 2011-8-15***/#define printx(n) printf("%i\n",x##n); printx(20)——printf("%i\n",x20);#import 語句
.h->頭文件(或包含文件)。
設置一組#import語句,將其輸入到一個xxx.h的獨立文件中,若需要則使用預處理程序指令:
- #import "xxx.h"。
- #import <……> 導致預處理程序只在特殊的"system"頭文件目錄中尋找包含文件,當前目錄不會被搜索。
- #import "……" 預處理程序在一個或者多個文件目錄。
條件編譯
通常用于創建可以在不同計算機系統上編譯運行的程序,經常用來開關程序中的各種語句。
1、#ifdef、#endif、#else 和 #ifndef 語句
從一個計算機系統上移植到另一個計算機系統上。
2、#if 和 #elif 預處理程序語句
表達式結果非零——#else、#elif或#endif為止的所有后續行,否則跳過它們。
特殊運算符:#define (name) 也能用在#if語句中。
3、#undef 語句
使一些已經定義的名稱稱為未定義的。
小結:關于詳解Objective-C預處理程序的內容介紹完了,希望通過本文的學習能對你有所幫助。