`
dazhilao
  • 浏览: 239748 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转载]编写自己的C语言头文件

阅读更多
一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的。只知道调用系统库 函数时,要使用#include语句将某些头文件包含进去。其实,头文件跟.C文件一样,是可以自己写的。头文件是一种文本文件,使用文本编辑器将代码编 写好之后,以扩展名.h保存就行了。头文件中一般放一些重复使用的代码,例如函数声明,变量声明,常数定义,宏的定义等等。当使用#include语句将 头文件引用时,相当于将头文件中所有内容,复制到#include处。为了避免因为重复引用而导致的编译错误,头文件常具有

#ifndef   LABEL
#define   LABEL
   //代码部分
#endif
的格式。其中,LABEL为一个唯一的标号,命名规则跟变量的命名规则一样。常根据它所在的头文件名来命名,例如,如果头文件的文件名叫做hardware.h,
那么可以这样使用:
#ifndef   __HARDWARE_H__
#define   __HARDWARE_H__
  //代码部分
#endif
这样写的意思就是,如果没有定义__HARDWARE_H__,则定义__HARDWARE_H__,并编译下面的代码部分,直到遇 到#endif。这样,当重复引用时,由于__HARDWARE_H__已经被定义,则下面的代码部分就不会被编译了,这样就避免了重复定义。
另外一个地方就是使用include时,使用引号与尖括号的意思是不一样的。使用引号(“”)时,首先搜索工程文件所在目录,然后再搜索编译器 头文件所在目录。而使用尖括号(<>)时,刚好是相反的搜索顺序。假设我们有两个文件名一样的头文件hardware.h,但内容却是不一样 的。一个保存在编译器指定的头文件目录下,我们把它叫做文件I;另一个则保存在当前工程的目录下,我们把它叫做文件II。如果我们使用的 是#include <hardware.h>,则我们引用到的是文件I。如果我们使用的是#include “hardware.h”,则我们引用的将是文件II。笔者以前就遇到过一个同事问,为什么他修改了那个头文件里面的内容,好象跟没有修改一样?就是因为 他有两个一样的头文件(就像我们刚描述的那样),他是使用#include<hardware.h>引用的,而他修改时,却是当前工程所在的 目录下的那个文件。
本文引用地址: http://www.sciencenet.cn/m/user_content.aspx?id=357297 
分享到:
评论

相关推荐

    C语言头文件 NB30 C语言头文件 NB30

    C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言头文件 NB30C语言...

    C语言头文件 PSHPACK1

    C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1C语言头文件 PSHPACK1...

    C语言头文件 DIR C语言头文件 DIR

    C语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言头文件 DIRC语言...

    C语言头文件 STAT C语言头文件 STAT

    C语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言头文件 STATC语言...

    C语言头文件 CISO646

    C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言头文件 CISO646C语言...

    C语言头文件组织与包含原则_c语言头文件_c语言头文件组织与包含原则_

    C语言头文件的编写规则,掌握后可以减少程序的BUG

    编写自己的C语言头文件

    自己的C语言头文件v. .v二级公共基础速学教程

    C语言头文件 UrlMon.h

    C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, C语言头文件UrlMon.h, ...

    C语言头文件大全C语言头文件大全

    C语言头文件大全C语言头文件大全C语言头文件大全C语言头文件大全

    C语言头文件 DATA C语言头文件 DATA

    C语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言头文件 DATAC语言...

    C语言头文件 MAP C语言头文件 MAP

    C语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言头文件 MAPC语言...

    C语言头文件 STACK

    C语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 STACKC语言头文件 ...

    C语言头文件 NEW C语言头文件 NEW

    C语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言...

    C语言头文件 TNEF C语言头文件 TNEF

    C语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言头文件 TNEFC语言...

    C语言头文件包含关系分析工具

    c# 简易绘制C语言头文件包含关系图 详细说明可以查看我的blog http://www.cnblogs.com/geeking/ 本工具使用了DotNetBar中的TreeGX控件。下载地址: http://down2.cr173.com/soft1/DotNetBarSetup.zip

    C语言头文件 QOS C语言头文件 QOS

    C语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言头文件 QOSC语言...

    python读取C语言头文件测试用例,参考博客,有详细说明

    python读取C语言头文件测试用例,参考博客,有详细说明 https://blog.csdn.net/li171049/article/details/126673510

    C语言头文件 MATH C语言头文件 MATH

    C语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言头文件 MATHC语言...

    C语言头文件的作用

    C语言头文件的作用 举例说明C语言头文件的作用,很详细

    C语言头文件 WSVV C语言头文件 WSVV

    C语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言头文件 WSVVC语言...

Global site tag (gtag.js) - Google Analytics