私は、あるタイプの組み込みプロセッサ用に特別に作成された「C」コード ベースに取り組んでいます。LED、GPIO ライン、ADC (構造体などを使用) などの一般的な「疑似オブジェクト指向」コードを作成しました。また、これらの「オブジェクト」をハードウェア/ターゲットに依存しない方法で利用する大量のコードも作成しました。
現在、別の種類のプロセッサをミックスに投入していますが、現在のコード構造を維持して、より高いレベルのライブラリを引き続き利用できるようにしたいと考えています。ただし、下位レベルのコード (LED、GPIO、ADC) にはさまざまな実装を提供する必要があります。
.C ファイルの #includes が一般的に見下されていることは知っていますが、この場合は適切ですか? 例えば:
// led.c
#ifdef TARGET_AVR
#include "led_avr.c"
#elseifdef TARGET_PIC
#include "led_pic.c"
#else
#error "Unspecified Target"
#endif
これが不適切である場合、より良い実装は何ですか?
ありがとう!