单片机.h文件到底起什么用?能不能去掉?如果不能,能不能写在c里面,照片中这个.h貌似起不了什么用
单片机.h文件到底起什么用?能不能去掉?如果不能,能不能写在c里面,照片中这个.h貌似起不了什么用分别是.h.c和main...
单片机.h文件到底起什么用?能不能去掉?如果不能,能不能写在c里面,照片中这个.h貌似起不了什么用分别是.h .c 和main
展开
1个回答
展开全部
能去掉。
但是保留 .h 文件是一个良好的习惯,.h 文件里面往往会写有 .c 文件中所用到的静态和全局变量以及全部的函数名称。
函数名全部写在 .h 实现全部写在 .c,这样在一个浏览一个大的项目的时候,观看者就只需要去看 .h 文件就能快速的浏览你缩写的函数,并且 .c 文件由于比 .h 文件要大 N 倍,所以打开的读取时间也是 N 倍来计算的。
这么做是为了可维护性跟可阅读性,是对程序员友好的一种行为。
另一方面,有很多 .c 文件会被编译成动态链接库的形式,这个时候 .h 可以起到一个说明内部函数名称跟访问的作用同时你还不会暴露你的 C 源代码,因为那些文件不能像 .c 正常阅读。
但是保留 .h 文件是一个良好的习惯,.h 文件里面往往会写有 .c 文件中所用到的静态和全局变量以及全部的函数名称。
函数名全部写在 .h 实现全部写在 .c,这样在一个浏览一个大的项目的时候,观看者就只需要去看 .h 文件就能快速的浏览你缩写的函数,并且 .c 文件由于比 .h 文件要大 N 倍,所以打开的读取时间也是 N 倍来计算的。
这么做是为了可维护性跟可阅读性,是对程序员友好的一种行为。
另一方面,有很多 .c 文件会被编译成动态链接库的形式,这个时候 .h 可以起到一个说明内部函数名称跟访问的作用同时你还不会暴露你的 C 源代码,因为那些文件不能像 .c 正常阅读。
更多追问追答
追问
c里面是怎么把h包含进来的,我看h头上有个#include_INIT_H。那c头上是不是应该写这一句呢
追答
不,那个不是 include 看仔细了,#idndef 那个是写给编译器看,用来检查宏的,初学不需要知道这个。
.h 内部引用的东西也可以作用于 .c 文件内,比如说对应名称的 .c 文件不写 #include 了什么,而是写到 .h 文件中同样有用。
至于怎么包含的话,名字一毛一样啊~所以对应名字的 .h 代表对应的 .c 呐!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询