2

したがって、基本的には、C++ で記述され、ユーザーが共有オブジェクト ファイル (Linux [* nix? Mac でどのように機能するかはよくわかりません]) または API を自分で使用するために参照できる dll (Windows の場合) です。Cython でかなりの時間を試した後、単一のファイルである限り、独自の拡張機能を作成できますが、複数のファイルの使用についてオンラインで何も見つけることができません (これは明らかに、実際のプロジェクトなのでPython プロジェクトにインポートできる単一の .so にコンパイルします。Cython を手動で調べて使用し、.cpp ファイルごとに .pyx ファイルを作成する必要がありますか (多数あります)。それらをcppファイルにコンパイルしてから編集し、makeファイルを使用してそれらを.soファイルにコンパイルしますか、それとももっと自動化された方法がありますか? (ps Cythonでそれぞれ個別にコンパイルしてみましたが、「#include < path/file >」表記が気に入らなかったようで、ほとんどのファイルをコンパイルできませんでした)

その他の情報: 私は ctypes を使用してライブラリとやり取りすることができましたが、それは非常にハック的で非 Pythonic であると感じました。Cython は非常に便利な資産になる可能性があるため、Cython でもう少し経験を積みたいと思っています。 .

4

1 に答える 1

0

「yourmodule.pyx」という名前のファイルを作成し、他のすべてのファイルの名前をpxiに変更して、次の操作を実行できます。

include "other1.pxi"
include "other2.pxi"

そうすると、cythonizeしてコンパイルするファイルはyourmodule.pyxの1つだけになります。

于 2011-03-02T00:22:52.603 に答える