请教一个问题 ,为什么STM32 keil5中不直接将引用的头文件包含在OLED.h中,然后在OLED.c中包含“OLED.h”这一个头文件就行了?

为什么STM32 keil5中不直接将引用的头文件包含在OLED.h中,然后在OLED.c中包含“OLED.h”这一个头文件就行了?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
关注
让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
如果答案让您满意,请采纳、关注,非常感谢!
在STM32 keil5中,通常将引用的头文件包含在源文件(.c文件)中,而不是直接包含在头文件(.h文件)中的原因是为了提高编译速度和避免不必要的重复编译。如果将所有引用的头文件都包含在头文件中,那么每次使用该头文件的时候都会重新编译所有引用的头文件,增加编译时间。而将引用的头文件包含在源文件中,可以减少需要重新编译的头文件数量,提高编译效率。 以下是一个简单的示例,展示了在OLED.c中包含"OLED.h"头文件的方法:// OLED.c #include "OLED.h" // 实现OLED的相关函数 void OLED_Init() { // 初始化OLED } void OLED_DisplayString(char* str) { // 在OLED上显示字符串 }
而在OLED.h中只需要声明函数原型即可:
// OLED.h #ifndef __OLED_H #define __OLED_H void OLED_Init(); void OLED_DisplayString(char* str); #endif
这样可以有效地降低编译时间,并保持代码的整洁性。
解决 无用评论 打赏 举报