完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1)h文件作用
1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明; 2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h)。 2)h文件里应该有什么 常量,结构,类型定义,函数,变量申明。 3)h文件不应该有什么 变量定义, 函数定义。 4)extern问题 对于变量需要extern; 对于函数不需要因为函数的缺省状态是extern的。如果一个函数要改变为只在文件内可见,加static。 5)include包含问题 虽然申明和类型定义可以重复,不过推荐使用条件编译。 #ifndef _FILENAME_H, #define _FILENAME_H …… #endif 6)应该在那儿包含h文件 在需要的地方。比如某个提供接口的h文件仅仅被1.c文件需要,那么就在1.c文件里包含。 编写的程序一般会有.H文件和相对应的.C文件,.H文件是声明所用,.C文件是其函数实现部分。在调用时只要包含.H文件即可,我们没有听说过#i nclude “delay.c”这类的程序,同时也不提倡使用这个形式。 在delay.h文件中: //对调用的函数声明 #ifndef __DELAY_H__ #define __DELAY_H__ extern void Delayms(unsigned int n); #endif 在delay.c文件中: //函数实现部分 #i nclude //for crystal 11.0592M void Delayms(unsigned int n) { unsigned int i,j; for(j=n;j》0;j--) for(i=112;i》0;i--); } 在主程序main.c中 #i nclude //在主程序包含.h文件,不能包含.c文件 …… 上述方法仍然要求每建立一个工程就需要把对应的头文件复制到工程的文件夹里,这样看来仍然是比较麻烦的,这时还有另外一中方法就是将做好的头文件放在一个文件夹中,然后将这个文件夹整体拷贝到。.KEILC51INC下面,以后若需要使用某个头文件,就如使用KEIL自带的头文件一样方便了,在主函数mani()之前有一句#i nclude 就可以在main()中使用其中的函数了。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1085浏览 2评论
700浏览 1评论
453浏览 0评论
194浏览 0评论
330浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:18 , Processed in 1.760632 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号