2

Python を埋め込み、Python 動的ライブラリとリンクするプログラム (C および C++ で作成) があります。現在は Python 2.6 を使用していますが、マシンにインストールされているバージョンを使用する必要があります (現在は 2.6 または 2.7 のいずれかで、現時点で 3.x をサポートする予定はありません)。どうすればそれができますか?

dlopen()明らかなアプローチは、 /を使用して動的に利用可能なライブラリをロードしLoadLibrary()、必要な関数アドレスをフェッチすることです。

問題は、2.6 と 2.7 の間で変更された可能性のあるデータ構造があることです。2.6 ヘッダーに対してプログラムをコンパイルすると、2.7 に対して動作しますか? そのようなことはサポートされていますか?

もう 1 つの方法は、プログラム (または少なくとも Python インターフェースを担当するモジュール) を 2.6 と 2.7 に対して別々にコンパイルし、2 つの別々のバージョンを配布することです。これは明らかに望ましくありません。

私が見逃している他のアプローチはありますか?

プラットフォームは Windows と Linux です。

4

0 に答える 0