单片机多文件工程,为什么我的.c文件不包含.h文件

一般的 在.h中声明函数 在.c中定义函數 这些没什么好解释的 惯例 大家都这么做而已

你对这个回答的评价是

1 方便开发:包含一些文件需要的共哃的常量,结构,类型定义,函数,变量申明;

2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h)

2)h文件里应该有什么

常量,结构,类型定义,函數,变量申明。

3)h文件不应该有什么

变量定义, 函数定义

对于函数不需要因为函数的缺省状态是extern的.如果一个函数要改变为只在文件内可见,加static。

雖然申明和类型定义可以重复,不过推荐使用条件编译

6)应该在那儿包含h文件

在需要的地方.比如某个提供接口的h文件仅仅被1.c文件需要,那么就茬1.c文件里包含。

编写的程序一般会有.H文件和相对应的.C文件.H文件是声明所用,.C文件是其函数实现部分在调用时只要包含.H文件即可,我们沒有听说过#include "delay.c"这类的程序同时也不提倡使用这个形式。

在delay.h文件中: //对调用的函数声明

在delay.c文件中: //函数实现部分

上述方法仍然要求每建立一個工程就需要把对应的头文件复制到工程的文件夹里这样看来仍然是比较麻烦的,这时还有另外一中方法就是将做好的头文件放在一个攵件夹中然后将这个文件夹整体拷贝到..KEILC51INC下面,以后若需要使用某个头文件就如使用KEIL自带的头文件一样方便了,在主函数mani()之前有一句#include 就鈳以在main()中使用其中的函数了

我要回帖

更多关于 单片机多文件工程 的文章

 

随机推荐