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__ );
          
  • 相关阅读:
    Passion回来了
    VS.NET Addin在Design time获取控件值
    [过时的消息]VS2005 Shipped!
    为asp.net程序添加自定义配置区域
    Visual Studio .NET 2002 Service Pack 1 出来了
    Winform下通过控件名称来获取控件
    new blog, new life
    我的hotmail信箱容量变成2G了!
    first day in microsoft
    在client端通过java script调用Web Service
  • 原文地址:https://www.cnblogs.com/theDesertIslandOutOfTheWorld/p/5191961.html
Copyright © 2011-2022 走看看