啊哈磊_编程从这里起步

标题: c语言中的.h头文件的格式 [打印本页]

作者: 4k-Rn    时间: 2013-3-9 15:07
标题: c语言中的.h头文件的格式
自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用 #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





欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2