Pythonでラップする必要がある、設計が不十分で大きな(ヘッダーファイル> 300 public functions
で>200 numeric constants
定義されている)があります。#define
と ファイルがdll
ありh
ます。ライブラリは毎年更新され、現在まで下位互換性があります (つまり、関数が追加され、定数が数値を保持するなど)。ただし、ライブラリを制御していないため、保証はありません。
を使用するctypes
と、これを Python でラップする 2 つの方法がわかります。
- すべての定数と関数を 1 対 1 で Python にマッピングする
- Python で API を再定義し、ライブラリを呼び出します。
1 つ目は、ヘッダー ファイルから (ほぼ) 自動で実行できるため、保守とアップグレードが簡単です。2 つ目は、多くの Python コードが必要ですが、使いやすいでしょう。
この種の問題に関するあなたの経験といくつかの例に基づいて、いくつかの意見をいただければ幸いです。