详解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 语句

相关推荐