2009-03-14 5 views
7

私はPythonモジュールを持っていますが、通常のグローバル関数はありません。 C DLLだけを呼び出すことができる別のビジネスドメインのスクリプト環境から呼び出す必要があります。とにかく、私のPythonモジュールをビルドして、他のコードにDLLからエクスポートされた標準のC関数のように呼び出せるようにしますか?これはWindows環境用です。私はIronPythonを認識していますが、私の知る限り、C DLL関数として呼び出すことのできない.NETアセンブリのみをビルドできます。PythonモジュールからCのようなDLLをビルドする方法はありますか?

答えて

6

thisコーデプロイトの記事をご覧ください。一つの方法は、あなたのPython関数をCのDLLにラップし、これを呼び出し先に公開することです。

COMは、この問題を解決するためのバイナリプロトコルです。しかし、COMラッパーでこのpython dllをラップする必要があります。また、呼び出し側にもいくつかのコードを追加します。

2

Py2exeはPythonコードからコンパイルし、Pythonコード+インタプリタを埋め込むことによってCOM DLLを生成することができます。 AFAIKはまだ正規のDLLをサポートしていません。そのためには、Pythonの埋め込みについてのdirkgentlyの答えをご覧ください。

関連する問題