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

  • 相关阅读:
    获取字符串的MD5值
    将对象XML序列化为XML文件/反序列化XML文件为对象
    C#通过反射获得对象所有属性和值
    Jquery.Validate使用
    JS删除确认框
    生成验证码
    文件备份方法
    Log日志类
    Ext.NET 基础学习笔记08 (FormPanel)
    Tibco EMS Message trace
  • 原文地址:https://www.cnblogs.com/johan/p/2030449.html
Copyright © 2011-2022 走看看