ソースにいくつかのスマートコメントを指定して、C (または C++) ファイルにコードを挿入する必要があるプロジェクトに取り組んでいます。挿入されたコードは、外部ファイルによって提供されます。誰もそのような試みを知っていて、例を教えてくれますか? もちろん、元の行番号を #line で保持する必要があります。私の考えでは、cpp を、最初にこれを行い、次にシステム cpp を呼び出すスクリプトに置き換えます。任意の提案をいただければ幸いです
ありがとうダニー
ソースにいくつかのスマートコメントを指定して、C (または C++) ファイルにコードを挿入する必要があるプロジェクトに取り組んでいます。挿入されたコードは、外部ファイルによって提供されます。誰もそのような試みを知っていて、例を教えてくれますか? もちろん、元の行番号を #line で保持する必要があります。私の考えでは、cpp を、最初にこれを行い、次にシステム cpp を呼び出すスクリプトに置き換えます。任意の提案をいただければ幸いです
ありがとうダニー
cpp
少なくとも前処理がコンパイラの内部にある最近の GCC では、変更された外部プログラムを提供しても通常は機能しません (cc1
またはの一部ですcc1plus
)。cpp
したがって、ほとんどの GCC コンパイルに関与するプログラムはもうありません(ただしlibcpp
、GCC の内部ライブラリです)。
#pragma
主に GCC を使用している場合は、独自の s (コメントではなく!)を使用してコードを挿入することをお勧めします。その目的のために、独自の GCC プラグインを追加するか、独自のMELT拡張機能をコーディングできます (GCC プラグインはプラグマとビルトインを追加できますが、現在は前処理に影響を与えることができないため)。
Ira Baxterがコメントしたように、いくつかの奇妙なマクロ呼び出しを入れて、これらのマクロを別のファイルで定義することができます。
あなたが望む正確な種類のコードインジェクションを正確に推測することはできません。
または、独自のジェネレーター (#line
ディレクティブを発行できる) を使用して C または C++ コードを生成し、それをフィードすることもできます。gcc