• C语言中的条件编译


    条件编译属于三种宏定义中的一种

    条件指示符的最主要目的是防止头文件的重复包含和编译,例如:一个c文件包含同一个h文件多次,如果不加#ifndef宏定义,会出现变量重复定义的错误

    条件编译的命令的三种形式:

    形式1
      # ifdef 标识符
      
    /*程序段 1*/
      #
    else
      
    /*程序段 2*/
      # endif
      
    //它的作用是当标识符已经由#define定义过了,则编译程序段1,否则编译程序段2
    // 简单形式
      # ifdef 标识符
      
    /*程序段1*/
      # endif
    形式2
      # ifndef 标识符
      # define 标识符
      
    /*程序段 1*/
      #
    else
      
    /*程序段 2*/
      #e n di f
      
    //它的作用是当标识符没有由#define定义过,则编译程序段1,否则编译程序段2
      
    // 简单形式
      # ifndef 标识符
      # define 标识符
      
    /*程序段 1*/
      # endif
    形式3
      #
    if 表达式
      
    /*程序段 1*/
      #
    else
      
    *程序段 2*/
      # endif
      
    //它的作用是 当“表达式”值为真时编译程序段1。否则则编译程序段2
    // 简单形式
      # if 表达式
      
    /*程序段 1*/
      # endif
      
    //以上三种形式的条件编译预处理结构都可以嵌套使用


    //标识符: 在理论上来说可以是自由命名的,但每个头文件的这个标识符都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h

    #ifndef _STDIO_H_
    #define _STDIO_H_

    /*程序段 */

    #endif

  • 相关阅读:
    一个表缺失索引发的CPU资源瓶颈案例
    SQLServer 版本之八大方法搞清 "我是谁"
    DBA成长路线
    SQL Server2016升级前几点自检
    SQL Server 2016白皮书
    <译>通过PowerShell工具跨多台服务器执行SQL脚本
    /lib64/libc.so.6: version `GLIBC_2.17' not found
    /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
    HGT高程数据文件格式解析
    DEM高程数据下载资源
  • 原文地址:https://www.cnblogs.com/johan/p/2030449.html
Copyright © 2020-2023  润新知