デバッグおよびロギング ライブラリの場合、実行時に、プロジェクトがコンパイルおよびリンクしたすべてのソース ファイルのリストを見つけられるようにしたいと考えています。各ソース ファイルに何らかの種類のヘッダーを含めることを想定しており、プリプロセッサ __FILE__ マクロはそのファイルの文字定数を提供できるため、各ファイルからその情報を何らかの形で「ブロードキャスト」して、ランタイム機能。
問題は、これをエレガントに行う方法であり、特に C++ ではなく C から実行できるかどうかです。C++ では、おそらく、ファイル名のリストを保持するための静的ストレージを持つクラスを作成しようとします。各ヘッダー ファイルは、そのクラスのファイル ローカルな静的インスタンスを作成し、作成時に FILE ポインターなどをクラスの静的データ メンバーに、おそらくリンク リストとして追加します。
しかし、これが C で機能するとは思いません。C++ でさえ、各要素が作成されることが保証されているかどうかはわかりません。