美文网首页
预处理之条件编译

预处理之条件编译

作者: 春风依旧 | 来源:发表于2018-07-16 01:46 被阅读11次

定义:有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句

1、条件编译的符号:

指令                                    用途

#                          空指令,无任何效果

#include              包含一个源代码文件

#define              定义宏

#undef                取消已定义的宏

#if                      如果给定条件为真,则编译下面代码

#ifdef                如果宏已经定义,则编译下面代码

#ifndef              如果宏没有定义,则编译下面代码

#elif                    如果前面的#if给定条件不为真,当前条件为真,则编译下面代码

#endif                结束一个#if……#else条件编译块

#error                  停止编译并显示错误信息

2、不同的情况:

情况1:

#ifdef _XXXX

...程序段1...

#else

...程序段2...

#endif

这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。

情况2:

#ifndef _XXXX

...程序段1...

#else

...程序段2...

#endif

这里使用了#ifndef,表示的是if not def。当然是和#ifdef相反的状况(如果没有定义了标识符_XXXX,那么执行程序段1,否则执行程序段2)

情况3:

#if 常量

...程序段1...

#else

...程序段2...

#endif

这里表示,如果常量为真(非0,随便什么数字,只要不是0),就执行程序段1,否则执行程序段2。

我认为,这种方法可以将测试代码加进来。当需要开启测试的时候,只要将常量变1就好了。而不要测试的时候,只要将常量变0。

相关文章

  • 预处理之条件编译

    定义:有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句 1、条件编译的符号: 指令 ...

  • C语言学习笔记

    1. C程序编译 C程序的编译可以简单分为4个步骤:预处理,编译,汇编,。 预处理 展开头文件·删除注释,条件编译...

  • V语言学习笔记-25条件编译

    条件编译 目前主要针对不同平台,实现条件编译 按照作者的说法,为了保持V的简单,不会加入预处理,但是支持条件编译 ...

  • C语言23 终极篇 预处理之宏定义、条件编译和文件包含

    C语言23 终极篇 预处理之宏定义、条件编译和文件包含 什么是预处理 预处理一般是指在程序源代码被转换为二进制代码...

  • 编译和预处理指令

    1.预处理指令分类: 2.条件编译目的:防止文件重复包含和编译 条件编译当然也可以用条件语句来实现。 但是用条件语...

  • iOS--宏定义

    预处理 C语言的预处理(预编译)主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。“#”是编译器...

  • C语言 枚举类型和预处理指令

    枚举的定义 预处理指令 所有的预处理指令都是以#开头 预处理指令分为三种 宏定义 条件编译 文件包含 预处理指令在...

  • makefile

    makefile 借此机会重新复习下gcc编译条件命令 -E 预处理命令 生成 .i 预处理的原始程序    -...

  • objc-init

    编译过程 预处理包含以下内容:(1)宏定义指令(2)条件编译指令,如#ifdef,#ifndef,#else,#e...

  • C基础(1)

    程序运行过程如下: 预处理, 展开头文件/宏替换/去掉注释/条件编译 (...

网友评论

      本文标题:预处理之条件编译

      本文链接:https://www.haomeiwen.com/subject/xlhuuttx.html