zoukankan      html  css  js  c++  java
  • 头文件的处理

    //头文件的作用
    //1.存放标准头文件
    //2.宏定义
    //3.数据封装
    //4.函数的声明

     

    #ifndef

    #ifndef x
    #define x  
     ...   
    #endif  
    这是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,一般用于调试等等  
    #ifndef x  
    //先测试x是否被定义过  
    #define x

    //如果没有定义下面就定义x并执行下面的语句  
    ...  
    #endif
     //如果已经定义了则执行#endif后面的语句  
    条件指示符#ifndef检查预编译常量在前面是否已经被定义。如果在前面没有被定义,则条件指示符的值为真,于是从#ifndef到#endif之间的所有语句都被包含进来进行处理。相反,如果#ifndef指示符的值为假,则它与#endif指示符之间的行将被忽略。条件指示符#ifndef 的最主要目的是防止头文件的重复包含和编译。  
     补充一些内容:  头文件中的#ifndef  千万不要忽略了头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。
     还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。
    一般格式是这样的:
    #ifndef <标识>  
    #define <标识>   
    ......   
    ......
    #endif
      
    <标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h
    #ifndef _STDIO_H_
    #define _STDIO_H_  
    ......   
    #endif
  • 相关阅读:
    SVN自动更新测试服务器工作副本(C#写winform程序实现)
    两台服务器上SQL Server数据库数据互操作示例
    ASP.NET根据URL生成网页缩略图示例程序(C#语言)
    Flutter Widget API
    BPM、BPMN、BPMN2.0概念介绍
    H5多图上传调研
    lIUNX如何加载U盘,光盘
    如何解决exchange2003被中继的问题?(网上转载)
    window无法安装服务
    如何在WORD里面插入不同的页眉和页脚
  • 原文地址:https://www.cnblogs.com/siguoya/p/3481721.html
Copyright © 2011-2022 走看看