在学习stm32的时候,遇到了一个疑惑:先写一个.c文件,然后把把函数主体写在.c文件内,然后在.h文件中声明,再include .h。为何不直接写在.h文件里面,然后之间include .h
关于这个问题,查了一下得到了解惑:
1.从软件工程的角度,代码的实现不会写在头文件里面。因为它违背了隐蔽细节的原则,也就是我们需要暴露的是接口而不是细节。你不需要告述别人的代码是如何实现的,你只要提供接口就行啦。头文件就是c语言的接口。因为你想调用别人的接口只需要include别人的头文件,再连接或动态的调用别人的库就行啦。
2.从编译的角度,你如果写在头文件里面,改一次代码,和这个头文件有关嗯文件都要重新编译,这对大型项目来说非常耗时的。
3.亲测对于小型工程这样是可行,但是还是要养成主体函数写在 .c 里,然后在 .h 里面声明,接着在再include .h
2.从编译的角度,你如果写在头文件里面,改一次代码,和这个头文件有关嗯文件都要重新编译,这对大型项目来说非常耗时的。
3.亲测对于小型工程这样是可行,但是还是要养成主体函数写在 .c 里,然后在 .h 里面声明,接着在再include .h