zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    idea 控制到不能输出中文
    后台学习
    carthage和cocoapods
    如何优雅地调试
    从一次内存峰值说起
    多线程单线程,同步异步,并发并行,串行队列并行队列,看这里就对了
    iOS网络层设计感想
    iOS团队风格的统一
    AFNetworking二次封装的那些事
    UITextFiled,UITextView长度限制
  • 原文地址:https://www.cnblogs.com/johan/p/2030449.html
Copyright © 2011-2022 走看看