这个指令告诉 CPP 如果定义了 DEBUG,则执行处理语句。在编译时,如果您向 gcc 编译器传递了-DDEBUG开关量,这个指令就非常有用。它定义了 DEBUG,您可以在编译期间随时开启或关闭调试。 预定义宏 ANSI C 定义了许多宏。在编程中您可以使用这些宏,但是不能直接修改这些预定义的宏。
(1) 处理时间:文件包含也是以"#"开头来写的(#include ), 那么它就是写给预处理器来看了, 也就是说文件包含是会在编译预处理阶段进行处理的。 (2) 处理方法:在预处理阶段,系统自动对#include命令进行处理,具体做法是:将包含文件的内容复制到包含语句(#include )处,得到新的文件,然后再对这个新的文件进行编译。
#defineADD(x,y) x+y//other codeADD(5,6)//展开后该行为:5+6 操作符#和## #操作符可将参数转为字符串 #defineA(x) #x//other codeA(!@#D"F"AS123);//展开后该行为:"!@#D\"F\"AS123" ##可将两个参数拼接起来 #defineB(x,y) x##y//other codeintx=B(23,33)//展开后该行为:...
#error指令使预处理器发出一条错误消息,该消息包含指令中的文本。这条指令的目的就是在程序崩溃之前能够给出一定的信息。 三#include 命令#i nclude使编译程序将另一源文件嵌入带有#include的源文件,被读入的源文件必须用双引号或尖括号括起来。例如: #include"stdio.h"或者#include 这两行代码均使用C编译程序读入...
有两个预处理操作符:#和##,它们可以在#define中使用。 操作符#通常称为字符串化的操作符,它把其后的串变成用双引号包围的串。例如: #include <stdio.h> #define mkstr(s) #s int main(void) { Printf(mkstr(I like C)); Return 0; } 预处理程序把以下的语句: Printf(mkstr(I like C)); 变成...
C语言——预处理 1 预处理命令 1.1 宏定义 宏定义指的是以“#define”定义的语句,分为不带参数和带参数两种形式。 1、不带参数的宏定义,一般定义格式如下: #define 标识符 字符串 例如“#define PI 3.14159265”,作用是用标识符PI来代替字符串3.14159265。宏定义时所用的标识符称为“宏名”,以后程序中可用...
预处理主要是处理以#开头的命令,例如#include <stdio.h>等。预处理命令要放在所有函数之外,而且一般都放在源文件的前面。 二丶预处理命令 1.#include<> or #include"" #include命令是包含命令.<> 代表包含的是系统头文件. " " 表示包含的是自己定义的头文件 ...