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