IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言预处理命令_条件编译 -> 正文阅读

[C++知识库]C语言预处理命令_条件编译

对于C语言的预处理命令:宏定义,文件包含(头文件引用),条件编译。
各自的概念在此不赘述,百度即可
【1】今儿主要是想理一下条件编译:
第一个:
#if 条件
代码1
#elif 条件
代码2
#elif 条件
代码3



#endif
其实跟if(条件1){}else if(条件2){}else{}这个是一样的使用规则,
判断依据:或者情况比较,或者非0为真。验证如下:
在这里插入图片描述
第二个:
#ifndef 宏名 | #ifdef 宏名
#define 宏名



#endif
很多人对这个宏名的情况不太清楚
1、首先这个宏名可以用户自己随便写,但是前提是符合命名规则
2、比如说:
#ifndef FILE_C
#define FILE_C
void sub2()
{
}
#endif
其中可以写成:#define FILE_C void sub(){ }
就相当于FILE_C 等价于 void sub(){ },所以这些横着写你就一下子容易联系到之前写的宏定义
比如:#define led P0 ( led等价于P0)
所以:
在这里插入图片描述
在这里插入图片描述
(这里不规范自己将.c文件引用为头文件,只是为了说明问题,简单些)三个头文件在编译器编译的时候,发现sub2()被定义了两次(会编译报错)。如果见c.c文件内容改成上面条件编译,那么如果没有定义FILE_C(也就是sub2()函数),才会执行下面的#define代码,但是显然前面b.c文件以及定义过sub2()函数了,所以就不会执行下面的#define代码,不会再重新定义sub2()函数了。

【2】对于头文件的引用,一般遇到的疑问比如说就是头文件1里声明相应的函数,但是函数实体在其他源文件1中编写,而另一个源文件2要调用前源文件1的函数,只需要调用前头文件1即可,一般多个文件都是在一个项目工程内,负责处理这个问题的是相应的编译器(预处理→编译→链接)。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:26:01  更:2021-08-06 09:27:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/8 15:31:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码