0

ソースにいくつかのスマートコメントを指定して、C (または C++) ファイルにコードを挿入する必要があるプロジェクトに取り組んでいます。挿入されたコードは、外部ファイルによって提供されます。誰もそのような試みを知っていて、例を教えてくれますか? もちろん、元の行番号を #line で保持する必要があります。私の考えでは、cpp を、最初にこれを行い、次にシステム cpp を呼び出すスクリプトに置き換えます。任意の提案をいただければ幸いです

ありがとうダニー

4

1 に答える 1

0

cpp少なくとも前処理がコンパイラの内部にある最近の GCC では、変更された外部プログラムを提供しても通常は機能しません (cc1またはの一部ですcc1plus)。cppしたがって、ほとんどの GCC コンパイルに関与するプログラムはもうありません(ただしlibcpp、GCC の内部ライブラリです)。

#pragma主に GCC を使用している場合は、独自の s (コメントではなく!)を使用してコードを挿入することをお勧めします。その目的のために、独自の GCC プラグインを追加するか、独自のMELT拡張機能をコーディングできます (GCC プラグインはプラグマとビルトインを追加できますが、現在は前処理に影響を与えることができないため)。

Ira Baxterがコメントしたように、いくつかの奇妙なマクロ呼び出しを入れて、これらのマクロを別のファイルで定義することができます。

あなたが望む正確な種類のコードインジェクションを正確に推測することはできません。

または、独自のジェネレーター (#lineディレクティブを発行できる) を使用して C または C++ コードを生成し、それをフィードすることもできます。gcc

于 2013-10-31T20:53:27.613 に答える