主页 > 热文 >

51单片机C语言中c文件和h文件的关联

时间:2019-10-15 00:08

来源:未知作者:admin点击:

  正确的做法是:以上程序的结果是在模块1、2、3中都定义了整型变量a,a在不同的模块中对应不同的地址单元,这个世界上从来不需要这样的程序。

  (1)模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明;

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

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

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

  (3)模块内的函数和全局变量需在.c文件开头冠以static关键字声明;

  (2)某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明;

  (4)永远不要在.h文件中定义变量!定义变量和声明变量的区别在于定义会产生内存分配的操作,是汇编阶段的概念;而声明则只是告诉包含该声明的模块在连接阶段从其它模块寻找外部函数和变量。如:

  在需要的地方.比如某个提供接口的h文件仅仅被1.c文件需要,那么就在1.c文件里包含。51单片机C语言中c文件和h文件的关联

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

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

【责任编辑:admin】
热图 更多>>
热门文章 更多>>