常见的预处理命令及功能.docVIP

  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文档。上传文档
查看更多
常见的预处理命令及功能.doc

1.常见的预处理功能: 预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。 文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。 条件编译:#if,#ifndef,#ifdef,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件重复包含的功能。 布局控制:#progma,这也是我们应用预处理的一个重要方面,主要功能是为编译程序提供非常规的控制流信息。 宏替换: #define,这是最常见的用法,它可以定义符号常量、函数功能、重新命名、字符串的拼接等各种功能。 2.下面我们看一下常见的预处理指令: #define 宏定义 #undef 未定义宏 #include 文本包含 #ifdef 如果宏被定义就进行编译 #ifndef 如果宏未被定义就进行编译 #endif 结束编译块的控制 #if 表达式非零就对代码进行编译 #else 作为其他预处理的剩余选项进行编译 #elif 这是一种#else和#if的组合选项 #line 改变当前的行数和文件名称 #error 输出一个错误信息 #pragma 为编译程序提供非常规的控制流信息 3.下面我们对这些预处理进行一一的说明,考虑到宏的重要性和繁琐性,我们把它放到最后讲。 文件包含指令: 这种预处理使用方式是最为常见的,平时我们编写程序都会用到,最常见的用法是: #include iostream //标准库头文件 #include iostream.h //旧式的标准库头文件 #include IO.h //用户自定义的头文件 #include ……/file.h //UNIX下的父目录下的头文件 #include /usr/local/file.h //UNIX下的完整路径 #include ……\file.h //Dos下的父目录下的头文件 #include \usr\local\file.h //Dos下的完整路径 这里面有2个地方要注意: 1)我们用iostream还是iostream.h 我们主张使用iostream,而不是iostream.h,为什么呢?我想你可能还记得我曾经给出过几点理由,这里我大致的说一下:首先,h格式的头文件早在98年9月份就被标准委员会抛弃了,我们应该紧跟标准,以适合时代的发展。其次,iostream.h只支持窄字符集,iostream则支持窄/宽字符集。 还有,标准对iostream作了很多的改动,接口和实现都有了变化。最后,iostream组件全部放入namespace std中,防止了名字污染。 2)io.h和io.h的区别? 其实他们唯一的区别就是有哪些信誉好的足球投注网站路径不同: 对于#include io.h ,编译器从标准库路径开始有哪些信誉好的足球投注网站 对于#include io.h ,编译器从用户的工作路径开始有哪些信誉好的足球投注网站 编译控制指令: 这些指令的主要目的是进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件重复包含的功能。 使用格式,如下: 1)#ifdef identifier your code #endif 如果identifier为一个定义了的符号,your code就会被编译,否则剔除 2) #ifndef identifier your code #endif 如果identifier为一个未定义的符号,your code就会被编译,否则剔除 3) #if expression your code #endif 如果expression非零,your code就会被编译,否则剔除 4) #ifdef identifier your code1 #else your code2 #endif 如果identifier为一个定义了的符号,your code1就会被编译,否则yourcode2就会被编译 5) #if expressin1 your code1 #elif expression2 //呵呵,elif

文档评论(0)

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

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

1亿VIP精品文档

相关文档