C语言:预处理器


预处理阶段会执行这些指令。

1 预定义符号

FILE 进行编译的源文件名
LINE 文件当前的行号
DATE 文件被编译的日期
TIME 文件被编译的时间

2 define

2.1 宏定义

//#define suqre(x) x*x

如果一个现存的名字需要重新定义,那么旧的定义首先必须要用#undef 来移除。

3 条件编译

3.1

# if 
# elif
# endif 

3.2 判断是否被编译

 # if define(symbol)
# elif   !define(symbol)
# endif 

3.2 指令嵌套

更加清晰的显示def

4 文件包含include

# include <filename>

4.1 解决多重包含问题

# include "a.h"
# include "b.h"
如果a和b都包含x.h的话那么就会形成多重包含,解决这个问题的方法就是使用条件编译
# ifndef _X_H_
    #define _X_H_  1 //写成1 和不写成1的意义一样,表示符号已经被定义。
    /*header file*/
# endif 
这样多重包含的危险就会被消除,当头文件第一次被包含时,被正常处理,但是如果再次被包含的话,该头文件就不会被执行。

5 其他指令

# progma
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值