预处理命令

2016-03-10  本文已影响53人  Elena_li

预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。

程序设计语言的预处理的概念:在编译之前进行的处理。 C语言的预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头。 来自百度词条

指令        用途

#          空指令,无任何效果

#include   包含一个源代码文件

#define    定义宏

#undef     取消已定义的宏

#if        如果给定条件为真,则编译下面代码

#ifdef     如果宏已经定义,则编译下面代码

#ifndef    如果宏没有定义,则编译下面代码

#elif      如果前面的#if给定条件不为假,当前条件为真,则编译下面代码

#endif     结束一个#if……#else条件编译块

#error     停止编译并显示错误信息

#else               

#error     指令将使编译器显示一条错误信息,然后停止编译。

#line      指令可以改变编译器用来指出警告和错误信息的文件号和行号。

#pragma    指令没有正式的定义。编译器可以自定义其用途。典型的用法是禁止或允许某些烦人的警告信息。

1、宏定义
#define

2、文件包含

#include

3、条件编译,就是关于#ifdef,#ifndef,#else,#endif,#if等的用法。

#ifdef A

NSLog(@"A已经定义过了:%@",A);

#else

NSLog(@"A还未被定义");

#endif
#define B @"elena"

#ifdef B

NSLog(@"B已经定义可:%@",B);

#else

NSLog(@"B还未被定义",B);

#endif
#ifndef C

NSLog(@"C还未被定义");

#else

NSLog(@"可以在此处定义C");

#endif
#if 1

NSLog(@"D为非零值(为真)");

#else

NSLog(@"if后面的常量为0值就执行该代码段");

#endif
#if 0

#elif 1

NSLog(@"if后面的条件为假当前elif条件为真,执行这句");

#endif

上一篇下一篇

猜你喜欢

热点阅读