预编译也称为预处理,它执行代码文本的替换工作。
处理以#开头的命令。 就是为编译做准备。
有三种常见的预编译命令
(1) #包含命令
此命令指示编辑器在此插入xxx.xxx文件的所有内容。 如果使用,并且要在系统指定的目录下搜索文件,请使用指示您在当前目录下搜索文件,并在系统默认目录下搜索文件。
(2) #定义命令
这个命令有三种用法。
第一个是定义标识,标识的有效范围是整个程序,经常与#if组合使用,如#define XXX;
二是定义常数。 如#define max 100,max表示100。
第三,#defineget_max(a,b ) ) ) a ) ) b )这样的“函数”是否要定义? (a ) 3360 ) )之后可以使用get_max(x ) x,y )
得到x和y中较大的数(这种方法有一些弊端,见注2 )。
第四,定义“宏函数”,例如#definegen_fun(type ) type max _ # # type (type b,type b ) {return
ab? a:b; 使用、和时,如果使用gen_fun(int ),则在此处预编译为max_int ) int b、int b ) {return
ab? a:b; ),今后使用max_int(x,y )可以在x和y中得到较大的数。 从第三个开始,增加类型说
明天。
(3) if、#else和#endif命令
这些命令通常配合使用,如下所示:
#if defined (徽标)//如果已定义徽标
要执行的命令
#else
要执行的命令
#endif
有趣的是,#ifdef和#if defined在第三种预编译下的区别在于后者可以配置复杂的预编译
条件:
#ifdefined(AAA ) defined (BBB ) )xxxxx
xxxx
#endif
#ifdefined(AAA )||版本12