好吧,我了解 extern 定义的工作原理,但我不知道放置它们的“最佳”位置是什么。考虑以下文件结构:
- main.c / main.h / global.h
- drv_adc.c / drv_adc.h
- drv_pwm.c / drv_pwm.h
您可能会猜到,这对于小型微控制器来说很常见。这两个驱动程序在硬件的不同部分工作并且没有相互依赖关系。两个驱动程序都能够设置一个标志(例如:adc_irq_occured、pwm_irq_occured),它表明某些事情已经发生,并将在 main.c 中处理。
现在我可以想出两种方法来放置“extern bool adc_irq_occured;”。旗帜。
- drv_adc.h:它在某种程度上属于 ADC 驱动程序,因此我可以将它添加到它的头文件并在 main.c 中实例化它。
- 我翻转逻辑并将 extern 声明放入我的 main.h(或 global.h,如果必须如此)并在我的 drv_adc.c 中实例化它。
现在的问题是:这里的首选选项是哪个选项?有什么好书可以让我读到这些主题吗?