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

  • 相关阅读:
    卸载linux自带openjdk并安装sun jdk
    配置互信
    【学习笔记】计算理论
    python 矩阵乘法
    一个python二维列表格式化美观输出的题目
    【学习笔记】SICP读书笔记&&UCB CS61A学习笔记(学习中。。。)
    js模块化编程(未完待续)
    js——封装音频播放 暂停
    js——构造函数手撕大转盘
    kubernetes的iptables与ipvs详解
  • 原文地址:https://www.cnblogs.com/johan/p/2030449.html
Copyright © 2011-2022 走看看