预处理指令

预处理指令:在编译之前进行处理的指令。

常见的预处理指令有以下几个

#define
#undef
#ifdef
#ifndef
#if #elif #else #endif #line #error
#promga
#include

 

简单看下用法(注意#endif)

#ifndef MAX_WIDTH
#define MAX_WIDTH 100
#endif #if MAX_WIDTH>200 #undef MAX_WIDTH #define MAX_WIDTH 200
#elif MAX_WIDTH<50
#undef MAX_WIDTH
#define MAX_WIDTH 50 #else #undef MAX_WIDTH #define MAX_WIDTH 100 #endif

 

接下来是#error的用法

#ifndef __cplusplus
#error
A C++ compiler is required #endif

如果没有定义__cplusplus这个宏,则让编译器报错,错误信息为“A C++ compiler is required”。

 

然后是#line的用法

#line 200
cout << __LINE__ << endl;  //200

#line 200指定下一行的行号为200,__LINE__是本行语句的行号

 

#promga是关于配置编译器的,没有正式的定义,编译器可以自定义其用途。

 

最后是#include的用法

#include "iostream"
#include <iostream>

两种表达的唯一区别是编译器应该在什么路经下寻找指定的文件。第一种情况下,文件名被写在双引号中,编译器首先在包含这条指令的文件所在的目录下进行寻找,如果找不到指定文件,编译器再到被配置的默认路径下(也就是标准头文件路径下)进行寻找。第二种情况下,编译器会直接到默认标准头文件路径下寻找。

posted @ 2014-05-25 22:08  Norcy  阅读(813)  评论(0编辑  收藏  举报