2

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 を置き換えることはできません)。

これを達成するための正しい/最も簡単な方法は何ですか? ユーザーランドのテンプレートコードをプラグインと組み合わせても構いません。

新しいパスを追加する方法はありますか? もしそうなら、私は本当にいくつかのポインタを使うことができます.

4

1 に答える 1