zoukankan      html  css  js  c++  java
  • C语言-08-预处理器

    C预处理器,C Preprocessor简称CPP。C预处理器不是编译器的一部分,它是一个单独的文本替换工具,指示编译器在实际编译之前需要完成的工作。

    常用的预处理器指令

    • #include
      • 包含头文件
    • #define
      • 宏定义
    • #undef
      • 取消宏定义
    • #ifdef
      • 如果定义
    • #ifndef
      • 如果没有定义
    • #if
      • 如果
    • #else
      • 否则
    • #elif
      • 否则如果
    • #endif
      • 结束判断
    • #error
      • 当遇到标准错误时,输出错误信息
    • #pragram
      • 使用标准化方法,向编译器发布特殊的指令到编译器中

    ANSI C预定义宏

    • 宏延续运算符
      • ' ',定义多行的宏定义

        #define MAX(a, b) 
        a > b ? a : b
        
    • 字符串常量化运算符
      • ‘#’,将一个宏的参数转换成字符串常量

        #define SUM(a, b) 
        printf(#a " + " #b " = %d
        ", (a) + (b))
        
    • 标记粘贴运算符
      • ‘##’,在宏定义中将两个独立的标记合并成一个标记

        // 定义
        #define VALUE(v) 
        printf("a%d = %d
        ", v, a##v)
        // 使用
        int a1 = 3;
        VALUE(1);
        
    • defined() 运算符
      • 判断一个标识符是否用#define定义过

        #if !defined(DEBUG)
            // TODO:
        #endif
        
    • 常见的预定义宏
      • DATE
        • 当前日期,“MMM DD YYYY”。使用方法:

          printf("Date :%s
          ", __DATE__ );
          
      • TIME
        • 当前时间,“HH:MM:SS”

          printf("Time :%s
          ", __TIME__ );
          
      • FILE
        • 当前文件名

          printf("File :%s
          ", __FILE__ );
          
      • LINE
        • 当前行号

          printf("LINE :%s
          ", __LINE__ );
          
      • STDC
        • 当编译器为ANSI标准编译时,则定义为1

          printf("STDC :%s
          ", __STDC__ );
          
  • 相关阅读:
    OpenGL 五
    OpenGL 四
    对UICollectionView的学习
    KVO的简单用法
    css在各浏览器中的兼容问题
    iOS学习笔记---网络请求
    UI学习笔记---第十六天XML JSON解析
    ui学习笔记---第十五天数据库
    UI学习笔记---第十四天数据持久化
    UI学习笔记---第十三天可视化设计 XIB, StoryBoard
  • 原文地址:https://www.cnblogs.com/theDesertIslandOutOfTheWorld/p/5191961.html
Copyright © 2011-2022 走看看