0

Python スクリプトを使用して C コードをテストする方法を見つけようとしています。これまでのところ、私の調査結果は

1) Ctypes を使用すると、so を簡単にロードして、Python から直接関数を呼び出すことができます。さらに、すべてが実行時に行われるため、余分なコンパイルやラッピングは必要ありません。

2) ただし、Python ですべての型を書き直すのは面倒で、特に複雑なデータ型の場合はエラーが発生しやすくなります。また、定義が変更されるたびに、Python スクリプトで定義を更新する必要があります。

Swig はデータ型を自動的にエクスポートできるので、Swig と Ctypes を混在させることは可能ですか? つまり、Swig を使用してデータ型をエクスポートします。これは、Ctypes を介して関数を呼び出すために使用できます。

ps Cython の方が適しているかどうかはわかりませんが、環境に Cython がありません。

4

1 に答える 1

0

Cコードによって生成されたsoライブラリへの動的リンクでSwigを使用することになりました。このように、公開する関数/データ型を swig に伝えるために、swig インターフェイス ファイルにヘッダー ファイルを含めるだけで済みます。このアプローチのもう 1 つの利点は、C でテスト ヘルパー関数を記述し、それらを簡単に公開できることです。

于 2013-02-18T19:18:11.787 に答える