GCC プラグイン API の世界を探索し始めたばかりで、次の例で GCC を拡張しようとしています。
class Foo { ... };
Foo* f = __construct Foo(); // __construct is meant to be a new keyword
__construct
理想的には、プラグインを単純に のようなものに置き換えたいnew (foo_class_info)
ので、最終的には
Foo* f = new (foo_class_info) Foo();
whereはコールバックfoo_class_info
経由で利用可能になっていPLUGIN_FINISH_TYPE
ます (つまり、プリプロセッサ パスで __construct を置き換えることはできません)。
これを達成するための正しい/最も簡単な方法は何ですか? ユーザーランドのテンプレートコードをプラグインと組み合わせても構いません。
新しいパスを追加する方法はありますか? もしそうなら、私は本当にいくつかのポインタを使うことができます.