美文网首页
C/C++预处理命令

C/C++预处理命令

作者: LogyKoala | 来源:发表于2019-07-16 00:06 被阅读0次
    1. 宏定义:#define

      1. 将一个指定的标识符来代表一个字符串
        写法:#define 标识符 字符串
      2. 定义参数的宏定义
        写法:#define 宏名 字符串
    2. 文件包含
      指一个源文件将另一个源文件的全部内容包含进来,也就是将另外的文件包含到本文件之中。
      写法:
      1、#include<文件名> 在系统目录中寻找
      2、#include"文件名" 先在指定目录中寻找,然后再去系统目录中寻找,如果没有给出绝对路径,则先在用户当前目录中寻找

    3. 条件编译

      #ifndef
        #ifdef 标识符 //当指定的标识符已经被#define命令定义过,则只编译程序段1
               程序段1 
        #else  //否则,编译程序段2
               程序段2 
        #endif //限定¥ifdef命令的范围,不然会一直向下执行
      

      eg:

      #ifndef LOG_TAG
      #define LOG_TAG "JNI"
      #else
      #endif
      
      #if 表达式 //表达式为真时,编译程序段1
          程序段1 
      #else //否则,编译程序段2
          程序段2
      #endif //结束#if命令,不然会一直向下执行
      

      eg:

      #define IS_DEBUG true
      #endif
      #if IS_DEBUG
      #define LOG_TAG "JNI"
      #else 
      #define LOG_TAG "TAG"
      #endif
      
    4. 常见的预处理指令

       #define         宏定义 
       #undef          取消宏 
       #include        文本包含 
       #ifdef          如果宏被定义就进行编译 
       #ifndef         如果宏未被定义就进行编译 
       #endif          结束编译块的控制 
       #if             表达式非零就对代码进行编译 
       #else           作为其他预处理的剩余选项进行编译 
       #elif           这是一种#else和#if的组合选项 
       #line           改变当前的行数和文件名称 
       #error          输出一个错误信息 
       #pragma         为编译程序提供非常规的控制流信息 
      
    5. 常用预定义宏

      1. _LINE_  //当前源文件的行号,整数
      2. _FINE_ //当前源文件名,char字符串,使用/FC选项产生全路径
      3. _DATE_ //当前编译日期,char字符串,格式月 日 年
      4. _TIME_ //当前编译时间,char字符串,格式时:分:秒
      5. _STDC_ //整数1,表示兼容ANSI/ISOC标准,配合#if使用
      6. _TIMESAMP_ //最后一次修改当前文件时间戳,char字符串,格式星期 月份 日期 时:分:秒 年
      

    相关文章

      网友评论

          本文标题:C/C++预处理命令

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