私は設計上の問題に苦しんでおり、自分の状況に対する「ベスト プラクティス」の答えを見つけようとしています。
プログラムでのアクションのログ記録を担当するLogger.c
(And )というファイルがあるとします。Logger.h
すべてのモジュールで logger を参照するようにしたいので、各モジュールには
#include Logger.h
.
NTFS FS との対話を担当するというモジュールがあるとNTFS.c
します。このモジュールには、ヘッダーで定義された特別な構造体があります。たとえば、次のようになります。NTFS_Partition.
問題は次のとおりです。
一方では、ロガーが NTFS_Partition のフォーマットされた表現をログ ファイルに出力できるようにしたいと考えてい#include NTFS.h
ますLogger.h
。
(Inside Logger.h)
#include NTFS_Partition
VOID Log_Partition(NTFS_Partition *part);
一方、Logger が彼を参照するモジュールを再参照する必要があるかどうかはわかりません。
現在、私は2つの主な選択肢を見ています:
1.Logger.h には NTFS.h が含まれ、NTFS.c には Logger.h が含まれます (これは機能します)。
2. すべてのモジュールで共有され、NTFS 構造体 (NTFS_Partition など) の減速のみを含む、NTFS_Types.h という新しいヘッダー ファイルを作成します。
どうもありがとう、マイケル。