現在、Python インタープリターをアプリケーションに埋め込もうとしています。私のアプリケーションはロギングに Poco API を使用しているため、Python のロギング モジュールからもアクセスできるようにしたいと考えています。これを行う最も簡単な方法は、拡張モジュールとして関数の静的セットを提供してメッセージをログに記録し、これらの関数を呼び出す Handler サブクラスを作成することです。
Py_InitModule()
ユーザーに追加の python モジュールをインストールしてほしくないので、組み込みの python インタープリターの外部で自分のコードを再利用する必要がないので、静的関数を提供してからハードコードされた Handler を追加できれば素晴らしいでしょう。作成されたモジュールのサブクラス (ハードコーディングされた手段: 実行時に追加されますが、実際には初期化時に常に解釈される const 文字列)。
私の問題は、通常の python クラス定義を解釈する方法がわからないことです。
class Test:
someVar=1
特定のモジュールに追加され、次のようにアクセスできるようにしますmymodule.Test
ソリューションは、純粋な python ベースにすることも、python c-api を使用することもできます。