您的位置:首页 > 编程语言 > C语言/C++

C语言-08-预处理器

2016-02-16 10:28 288 查看
C预处理器,C Preprocessor简称CPP。C预处理器不是编译器的一部分,它是一个单独的文本替换工具,指示编译器在实际编译之前需要完成的工作。

常用的预处理器指令

#include

包含头文件

#define

宏定义

#undef

取消宏定义

#ifdef

如果定义

#ifndef

如果没有定义

#if

如果

#else

否则

#elif

否则如果

#endif

结束判断

#error

当遇到标准错误时,输出错误信息

#pragram

使用标准化方法,向编译器发布特殊的指令到编译器中

ANSI C预定义宏

宏延续运算符

'  ',定义多行的宏定义

#define MAX(a, b) \
a > b ? a : b


字符串常量化运算符

‘#’,将一个宏的参数转换成字符串常量

#define SUM(a, b) \
printf(#a " + " #b " = %d\n", (a) + (b))


标记粘贴运算符

‘##’,在宏定义中将两个独立的标记合并成一个标记

// 定义
#define VALUE(v) \
printf("a%d = %d\n", v, a##v)
// 使用
int a1 = 3;
VALUE(1);


defined() 运算符

判断一个标识符是否用#define定义过

#if !defined(DEBUG)
// TODO:
#endif


常见的预定义宏

DATE

当前日期,“MMM DD YYYY”。使用方法:

printf("Date :%s\n", __DATE__ );


TIME

当前时间,“HH:MM:SS”

printf("Time :%s\n", __TIME__ );


FILE

当前文件名

printf("File :%s\n", __FILE__ );


LINE

当前行号

printf("LINE :%s\n", __LINE__ );


STDC

当编译器为ANSI标准编译时,则定义为1

printf("STDC :%s\n", __STDC__ );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: