それ自体で機能する C++ で書かれたプログラムがありますが、Python からアクセスできるようにしたいと考えています。具体的には、C++ でより効率的な関数がいくつかありますが、Python スクリプトを使用して、出力に対して他の多くのことを行います。Python で行うには面倒な Boost のルート検索アルゴリズムやその他の機能を使用するため、Python で main() 全体を書き直したくありません。
c++ main() を維持しながら、これらの関数に Python バインディングを追加することは可能ですか? 以前に Python バインディングを行ったことはありませんが、既に Boost を使用しているため、 Boost.pythonを見てきました。ほとんどの例では、c++ 関数/クラスを hpp ファイルで使用し、それらを Python プログラムに埋め込んでいますが、これはまさに私たちが望んでいるものではありません。
私たちが望むのは、C++ プログラムをスタンドアロンとして維持し、ユーザーが必要に応じてそのまま実行できるようにすることと、ユーザーが Python プログラムからこれらの関数を呼び出せるようにすることです。同じ Makefile と exe を使用できるのは素晴らしいことです。バインドされた関数を含む別の C++ ライブラリを実際に作成する必要はありません。これらの便利な関数へのアクセスを許可するだけで、Pythonic バージョンのコードを作成することに関心はありません。
ありがとう