您的位置 首页 编程

学习笔记–C言语的预处理–条件编译

预处理名称意义define宏定义undef撤销已定义过的宏名include使编译程序将另一源文件嵌入到带有include的源文件中ifelseelif

预处理称号含义

#define 宏界说

#undef 吊销已界说过的宏名

#include 使编译程序将另一源文件嵌入到带有#include 的源文件中

#if#else#elif#endif等条件编译

#line 改动当时行数和文件称号,它们是在编译程序中预先界说的标识符

指令的基本方式如下:#line number[“filename”]

#error 编译程序时,只需遇到#error 就会生成一个编译过错提示音讯,并中止编译

#pragma为实现时界说的指令,它答应向编译程序传送各种指令例如,编译程序可能有一种挑选,它支撑对程序履行的盯梢。可用#pragma 句子指定一个盯梢挑选。

条件编译
条件编译的功用使得咱们能够按不同的条件去编译不同的程序部分,因而发生不同的方针代码文件。这关于程序的移植和调试是很有用的。条件编译有三种方式,下面别离介绍

第一种方式:
#ifdef 标识符
程序段1
#else
程序段2
#endif

它的功用是,假如标识符已被#define 指令界说过则对程序段1 进行编译;不然对程序段2进行编译。假如没有程序段2(它为空),本格局中的#else 能够没有,即能够写为:
#ifdef 标识符
程序段
#endif
第二种方式:
#ifndef 标识符
程序段1
#else
程序段2
#endif
与第一种方式的区别是将“ifdef”改为“ifndef”。它的功用是,假如标识符未被#define 指令界说过则对程序段1 进行编译,不然对程序段2 进行编译。这与第一种方式的功用正相反。

第三种方式:
#if 常量表达式
程序段1
#else
程序段2
#endif
它的功用是,如常量表达式的值为真(非0),则对程序段1 进行编译,不然对程序段2 进行编译。因而能够使程序在不同条件下,完结不同的功用。
至于#elif 指令含义与else if 相同,它构成一个if else-if 阶梯状句子,可进行多种编译挑选。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/258780.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部