c/c++预处理过程详解(一)之文件包含、宏定义

未经博主同意不得私自转载!不准各种形式的粘贴复制本文及盗图!


其实本文原本是打算研究一下#define的,后来发现预处理是个不可避免的问题。

在讲#define 前需要讲讲 #

# 涉及到宏的概念,宏是编译器预处理的一个重要步骤

 

先讲讲预处理吧,因为预处理是c/c++的一个重要知识点

C语言的程序中可包括各种以符号#开头的编译指令,这些指令称为预处理命令。

预处理命令属于C语言编译器,而不是C语言的组成部分。

 在集成开发环境中,编译,链接是同时完成的。其实,C语言编译器在对源代码编译之前,还需要进一步的处理:预编译。

 

 

  预编译的主要作用如下:

 

1.将源文件中以”include”格式包含的文件复制到编译的源文件中。 ---------->文件包含

2.用实际值替换用“#define”定义的字符串。 ---------->宏定义

3.根据“#if”后面的条件决定需要编译的代码。 ---------->条件编译


所以C语言预处理:

①. 文件包含

②. 宏定义

③. 条件编译

我做了几张图帮大家理一下思路:

首先是预处理包含三大过程:



其中文件包含:


宏定义:



其中条件编译篇幅比较长见另一篇文章详解。


ps:一切内容均是本人根据网上各种途径,翻阅书籍等方式总结提炼的,如果设计版权希望能及时提醒更改。同时希望注重保护他人成果!


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值