C语言_预处理 #

1


1> 文件包含(include)

//--------------------------//
 书写格式:
//--------------------------//
< >  在系统目录中查找文件 
#include <stdio.h>

"" 现在工程目录查找,再去系统目录
#include "stdio.h"

//--------------------------//
 作用:
复制包含文件到当前文件;
//--------------------------//

2> 宏定义(macro)

执行过程:
 预处理时,
 将代码中所以[替换内容],替换;

//--------------------------//
 分类:
     1> 无参宏
     2> 带参宏
//--------------------------//

#define  OFF  0 // 无分号
#define  PI  3.14
作用: 定义含义,阅读代码方便;

#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define S(r) (2 * PI * r)
带参宏
//--------------------------//



3> 条件编译

3.1> #ifdef

//--------------------------//
#ifdef _头文件名_H_ 
	[编译内容]
#endif
//--------------------------//

3.2> #ifndef

//--------------------------//
#ifndef _头文件名_H_ 
#define _头文件名_H_
	[编译内容]
#endif
//--------------------------//

3.3> #if

//--------------------------//
#if CFG==1
	[编译内容]
#endif
//--------------------------//
#f 后跟整数常量表达式,非零为真
//--------------------------//

3.4> #elif

#elif // #else if
//--------------------------//
#if CFG==1
	[编译内容1]
#elif CFG==2
	[编译内容2]
#else
	[编译内容3]
#endif
//--------------------------//

3.5> #if defined ( )

//--------------------------//
#if defined (PARM)
	[编译内容]
#endif
//--------------------------//
defined: 是预处理运算符;
如果 #define PARM,则运算结果为1;
如果没定义过 PARM,则运算结果为0//--------------------------//

/* 编译内容执行 */
#define PARM
#if defined (PARM)
	[编译内容]
#endif
//--------------------------//
可以用C中的关系运算符和逻辑运算符
#if !defined(STM32F40_41xxx) && !defined(STM32F427_437xx) && !defined(STM32F429_439xx)
#endif 
//--------------------------//

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值