我正在研究專門爲某種類型的嵌入式處理器編寫的'C'代碼庫。我已經爲LED,GPIO線路和ADC(使用結構等)編寫了通用的「僞面向對象」代碼。我還寫了大量代碼,以硬件/目標不可知的方式利用這些「對象」。#包含在C文件中用於特定處理器的實現
我們現在正在將另一種處理器類型扔進混合中,我想保留當前的代碼結構,以便仍然可以使用更高級別的庫。但是,我確實需要爲較低級別的代碼(LED,GPIO,ADC)提供不同的實現。
我知道#include中的.C文件通常是被低估的,但在這種情況下,它是否合適?例如:
// led.c
#ifdef TARGET_AVR
#include "led_avr.c"
#elseifdef TARGET_PIC
#include "led_pic.c"
#else
#error "Unspecified Target"
#endif
如果這不合適,有什麼更好的實施?
謝謝!