啊哈磊_编程从这里起步
标题:
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