コンパイル済プラグイン
コンパイル済プラグインは、スクリプト済プラグインのパフォーマンスが問題になる場合に使用することができます。
コンパイル済プラグインは、インタープリター型プラグインと同じベースクラスに由来し、下記の基本的フローに従います。しかし、インタープリター型プラグインとは異なり、各コンパイル済プラグインは、プラグインインターフェースクラスに由来するコードを含んだ共有ライブラリです。プラグインをインプリメントするのにライブラリは必要なく、公的に入手可能なインターフェースファイルIPlugin.hのみを要します。
C++プラグインをインプリメントするには、インターフェースIPluginに由来するクラスをオーサリングします:

ベースクラスが優先される必要のあるの仮想関数は、GetLabelとOnRecordのみです。下記のクエリとアクションオブジェクトはBegin()、OnRecord()およびEnd()イベントに渡されます:
- TableInfo
- TableInfoオブジェクトはテーブルのプロパティにアクセスするための方法を提供し、BeginおよびEndイベントに渡されます。
- RecordInfo
- RecordInfoオブジェクトは記録のクエリをサポートし、OnRecordイベント内でのみコールされます。
- RecordAction
- RecordActionオブジェクトは、AddRecord法で宛先テーブルへの記録の追加をサポートします。
DLLがコンパイルされると、プラグインライブラリ用のLoadエレメント内のOptionエレメントを介してResults Moduleに付加されます。以下のサンプルは、プラグイン読み込みのためのLibrary ConfigセクションのPlug-inセクションで、最後がコンパイルされたプラグインです。


プラグイン共有ライブラリには接頭部も接尾部も含まれません。これにより、拡張子(.so、.sl、.dll)および接頭部(lib)などプラットフォームの差異が取り除かれます。