2016-12-20 4 views
0

私は、各Pythonスクリプトで同じ関数を呼び出すC++プロジェクトを持っています。しかし、各スクリプトは、C++プロジェクトの内部クラスにアクセスする必要がある非常に異なることを行います。C++プロジェクトでPythonスクリプトをコンパイル

私はPythonスクリプトにC++オブジェクトを渡すためにPythonラッパーが必要です。また、Pythonスクリプトの関数をC++プロジェクトから実行する方法も必要です。

私はCythonとShed Skinについて理解していますが、それらはC++クラスをPythonクラスにするユーティリティですが、言語間でランタイムオブジェクトを必ずしも共有しているわけではありません。

どうすればよいですか?

+0

これは非常に広い質問ですが、Boost for Pythonを見ることができます。 – CodeLikeBeaker

+0

私はデータベースに接続するC++で書かれたプログラムを持っているとしましょう。私はこのプログラムで5つのpythonスクリプトを実行します。これらのPythonスクリプトは、特定の実行時データにアクセスしていくつかの値をプログラムに戻すために、プログラムから関数を呼び出す必要があります。 – Maverick

答えて

-2

ありがとう、あなたの質問はマーベリックです。 CythonはPythonにC++クラスを使用する方法ではありません.Cythonは、単純に、データ型がCのPythonです。PythonプログラムでCのデータ型を使用できるため、Pythonコードが高速に実行されます。 Pythonでcythonを使って 質問に問題があったら、あなたのタスクにboostライブラリを使うことができます。ブーストするには、C++オブジェクトをPythonで使うラッパーを書くか、逆の場合もあります。共有ライブラリにコンパイルするだけですjam、cythonなどのツールを使って行うことができます。同じようなチュートリアルが多数あるので、どのようにそれをやっていくのかについて詳しくは触れていません。

+0

これは当てはまりません。 [Cython __is__ PythonでC++クラスを使う方法](http://cython.readthedocs.io/en/latest/src/userguide/wrapping_CPlusPlus.html)。 – DavidW

関連する問題