入力ファイルを処理する C++ プログラムがあります。プログラムに前処理機能を追加したい。つまり、入力ファイルは次のようになります。
%pre-processing section
#include <some_parent_file>
#define x y
#ifdef 0
some useless text
#endif
%actual file-contents
... lots of text ...
次に、私のプログラムは親ファイルからのテキストを自動的にインクルードし、#define などの前処理を行う必要があります。プログラムを呼び出す前に (g++ -E を使用して) スクリプトを使用することもできますが、プログラム内でより柔軟に実行できるようにしたいと考えています。
また、「g++ -E」は、「実際のファイルの内容」セクションの行がハッシュで始まる場合、プリプロセッサ ディレクティブを想定します (g++ -E は、コードを 2 つのセクションに分割したいことを知りません!)。
さらに、 「実際のファイルの内容」セクション内で ifdef 機能だけを使用できれば、それは素晴らしいことです。
プログラム内に C++ コードを埋め込んで、gcc コンパイラの前処理機能から必要な機能のみを使用できますか?