单片机自己写头文件应该注意什么?
4个回答
展开全部
头文件有很多种,不同的头文件作用是不一样的,在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 +这个函数;告诉编译器这个函数在外部文件,添加在头部就好了。没有什么特别的要求。主要是因为现在的编译器都足够的聪明。
打字很辛苦啊。希望采纳。不懂继续追问。
你在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 +这个函数;告诉编译器这个函数在外部文件,添加在头部就好了。没有什么特别的要求。主要是因为现在的编译器都足够的聪明。
打字很辛苦啊。希望采纳。不懂继续追问。
展开全部
1.防止重复定义.
2.防止重复引用包含
3.不要定义变量或者函数,只是声明.
4.防止宏的重复.
就想起这么多来..
2.防止重复引用包含
3.不要定义变量或者函数,只是声明.
4.防止宏的重复.
就想起这么多来..
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要用什么你就加相应的头文件啊,比如你要用printf();函数,你就必须添加#include《stdio。h》头文件,自己写头文件的话一定要防止重复定义 用#ifndef XXX #define xxx 你的程序 #endifxxxx 来实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
格式,例:
#ifndef __LCD5110_H
#define __LCD5110_H
extern void LCD_write_byte(UINT8 dt, UINT8 command);
extern void LCD_Init(void);
#endif
#ifndef __LCD5110_H
#define __LCD5110_H
extern void LCD_write_byte(UINT8 dt, UINT8 command);
extern void LCD_Init(void);
#endif
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询