预编译命令大全.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
预编译命令大全

第14章 预处理及用户配置文件 ? 预处理命命令通常在程序编译时进行一些符号处 理,其并不执行具体的硬件操作。C51语言中的预 处理命命令主要有宏定义指令、文件包包含指令和和条 件编译指令,还有其他一些调试时使用的指令。 本章将详细介绍各种预处理命命令以及C51的用户配 置文件,并结合一定的程序实例以加加深理解。本 章包包括: ? 宏定义指令 ? 文件包包含指令 ? 条件编译指令 ? C51编译器的控制制指令 ? C51的用户配置文件 14.1 预处理命命令概述 ? C51语言中提供了各种预处理命命令,类似于汇编程序中的伪指令。一般来说,在对源程序进行编译前前,C51编译器需要 先对程序中的预处理命命令进行处理,然后将预处理的结果与源程序一并进行编译,最后产生目标代码。通过这些预处 理命命令,在很大程度上为C51提供功功能和和符号等方面的扩展,使用预处理命命令也可以提高程序的可读性。 ? 为了与源程序中的语句相区别,预处理命命令前前要加加一个“#”。C51程序中的预处理命命令包包括以下几个: ? #define //用于宏定义 ? #error //用于程序调试 ? #include //用于文件包包含 ? #if //用于条件编译 ? #else //用于条件编译 ? #elif //用于多种条件编译选择 ? #endif //用于条件编译 ? #ifdef //用于条件编译 ? #ifndef //用于条件编译 ? #undef //用于宏定义 ? #line //用于更改行号 ? #pragma //用于传送控制制指令 14.2 宏定义指令 ? 宏定义指令是用一些标识符作为宏名来代替一些 符号或者常量的命命令。宏定义指令可以带参数, 也可以不带参数。下面分别介绍用于宏定义的一 些预处理指令。 14.2.1 #define命命令 ? #define命命令用于定义一个“宏名”。其中“宏名”是一个 标识符,在源程序中遇到到该标识符时,均以定义的串的内 容替代该标识符。ANSI标准将标识符定义为“宏名”,这 个替换过程称为“宏替换”。#define命命令用于定义宏名 时,可以带参数,也可以不带参数,下面分别介绍这两种 情况。 ? 1.不带参数的宏定义 ? 不带参数的宏定义,其一般形式如下: ? #define 标识符 字符串 ? 其中,#define是宏定义指令,标识符即宏名,字符串是被 替换的对象。典型的宏定义指令示例如下: ? #define TURE 1 ? #define FALSE 0 ? #define PI 3.1415926 ? 2.带参数的宏定义 ? 带参数的宏定义指令,其一般形式如下: ? #define 宏名(参数表) 字符串 14.2.2 #undef命命令 ? #undef命命令用于取消前前面已定义过的宏名。一般形式为: ? #undef 宏名 ? 其中,宏名为前前面用#define定义过的标识符。使用#undef的目的是将宏 名局限在仅需要的代码段中。示例如下: ? #include stdio.h //头文件 ? #define COUNT 25 //宏定义 ? void main() //主函数 ? { ? printf(COUNT =%d\n, COUNT); //输出COUNT =10 ? #undef COUNT //撤销宏定义 ? //printf(COUNT =%d\n, COUNT); //此时再引用是错误的 ? } 14.3 文件包包含指令 ? 文件包包含指令#include通常在C51程序的开头

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档