打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c语言中的.h头文件的格式
http://blog.sina.com.cn/s/blog_966f8e8501010wlv.html
2012
自定义头文件通常放在使用该头文件的源文件所在的目录中,并使用#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 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
#ifndef/#define/#endif使用详解
C语言宏
C++中extern “C”含义深层探索
"#ifndef #define #endif"防止头文件被重复包含以及 如何防止变量被重...
#ifndef #endif用法
#ifdef 标识符 ,条件编译,宏定义
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服