C/C++编译预处理指令

众所周知,你的程序编译前要做的事就是扫描源代码,对其做初步的转换,产生新的源代码提供给编译器,这个过程就叫编译预处理。这个处理过程由预处理器来完成,预处理器是在程序真正运行前由编译器调用的预处理程序。

     

    常见的预处理有以下三种:

     文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。

      宏替换: #define,这是最常见的用法,它可以定义符号常量、函数功能、重新命名、字符串的拼接等各种功能。        

      条件编译:#if,#ifndef,#ifdef,#elif,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的代码,以达到版本控制、防止对文件重复包含的功能。
              

一,文件包含

      #include预处理指令的作用是在指令处展开被包含的文件。包含可以是多重的,也就是说一个被包含的文件中还可以包含其他文件。预处理器至多支持15层嵌套包含。
    预处理过程不检查在转换单元中是否已经包含了某个文件并阻止对它的多次包含。这样就很容易发生相同的一个文件被包含多次的情况,可以轻易地利用条件式编译的预处理指令避免多次包含相同的文件,例如:

        
      

      文件包含中的<>和" ""的区别就不用说了。

二,

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值