这个很简单,我给你用图文演示一遍,包你马上就会使用,在工程里面新建一个main.c文件,写入一个P1口LED闪烁,程序如下:
在新建一个Txt2 保存 Delay.H文件,注意后润是.H保存
在Delay里面定义头文件,里面就写一个延时1ms子函数如下
然后再main文件开头就可以直接调用和使用了,程序具体如下:
对于C语言的头文件来说,通常情况下是使用#include+文件名语句进行引用。格式如下:
#include <stdio.h>
或
#include "MyLib.h"
使用 #include时,使用引号与尖括号的意思是不一样的。使用引号””时,首先搜索工程文件所在目录,然后再搜索编译器头文件所在目录。所以对于用户自定义头文件来说,通常使用双引号。
而使用尖括号<>时,刚好是相反的搜索顺序。所以对于编译系统提供的头文件来说,通常使用尖括号。
例:
假设我们有两个文件名一样的头文件 hardware.h ,但内容却是不一样的。一个保存在编译器指定的头文件目录下,我们把它叫做文件I ,另一个则保存在当前工程的目录下,我们把它叫做文件 II 。
如果我们使用的是# include <hardware.h>,则我们引用到的是文件 I。如果我们使用的是#include “hardware.h”,则我们引用的将是文件 II 。
头文件有很多种,不同的头文件作用是不一样的,在51编译器上,因为没有用到编译连接器,一般一些功能函数都写在头文件里面,这样便于管理也便于修改,这时候就要注意变量定义的顺序和头文件添加的顺序。比如说:你在a.h里面定义了一个uchar
a;
你要b.h里面有这样一条语句a=5;
但是你在添加的顺序是:
#include
"b.h"
#include
"a.h"
那么这时就会报在b.h中变量a未找到的错。
换回来:
#include
"a.h"
#include
"b.h"
就好了。
这类只是一个分类文件的头文件里面,其他的都没有什么特定的要求。
还有一个就是在头文件里面包含头文件,这样是可以的。
但是也有一个要注意的,那就是头文件包含只能是单一顺序的。不能相互包含。
比如在头文件a.h里面有一条
#include
"b.h"
那么b.h就是a.h的头文件了。b.h里面就不能有再包含a.h了。
还有一种头文件是一种引用头文件。
他起着连接外部c文件的作用。原理也很简单。
就是在外部c文件里面的所有函数都在这个头文件里面加上
extern
+这个函数;告诉编译器这个函数在外部文件,添加在头部就好了。没有什么特别的要求。主要是因为现在的编译器都足够的聪明。
打字很辛苦啊。希望采纳。不懂继续追问。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)