搜索
查看: 1834|回复: 0
打印 上一主题 下一主题

c语言中的.h头文件的格式

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-9 15:07:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用 #include "MyHead.h" 来包含。 头文件是不编译的,因为C语言编译过程之前有个预编译过程。在这个过程中用头文件中的内容替换源文件中“#include”命令,所以在编译器看来,没有头文件,只有源文件。预编译过程还包括条件编译。 头文件为了防止被重复包含,通常的格式是:  #ifndef _MYHEAD_H_ #define _MYHEAD_H_ (这里是头文件的内容) #endif  预处理预编译处理是指在编译系统对文件进行编译---词法分析、语法分析、代码生成及优化之前,对一些特殊的编译语句先进行处理,然后将处理结果与源程序一起编译,生成目标文件。条件编译条件编译指令将决定那些代码被编译,而哪些是不被编译的。可以根据表达式的值或者某个特定的宏是否被定义来确定编译条件。#endif用于结束条件编译,编译时与前面最近的#if   #ifdef或#ifndef作为一对,经常一起使用,编译两者之间的部分程序段。下面是一个头文件memdev.h的例子#ifndef _MEMDEV_H_#define _MEMDEV_H_#include<linux/ioctl.h>
#ifndef MEMDEV_MAJOR#define MEMDEV_MAJOR 0  #endif
#ifndef MEMDEV_NR_DEVS#define MEMDEV_NR_DEVS 2    #endif
#ifndef MEMDEV_SIZE#define MEMDEV_SIZE 4096#endif
struct mem_dev                                     {                                                          char *data;                        unsigned long size;       };#define MEMDEV_IOC_MAGIC 'k'#define MEMDEV_IOCPRINT    _IO(MEMDEV_IOC_MAGIC,1)#define MEMDEV_IOCGETDATA  _IOR(MEMDEV_IOC_MAGIC,2,int)#define MEMDEV_IOCSETDATA  _IOW(MEMDEV_IOC_MAGIC,3,int)
#define MEMDEV_IOC_MAXNR 3
#endif
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表