Python の C API インターフェース
qiskit.capi
このモジュールは、Qiskitの公開C APIとの Python -space間の連携を提供します。
C API 自体のドキュメントについては、 Qiskit C API を参照してください。
ビルドシステムとの連携
Python パッケージには、QiskitのC APIヘッダーファイルがすべて含まれており、C API qiskit のすべての関数を実装したコンパイル済みの共有オブジェクトライブラリも含まれています。 これら2つのオブジェクトの位置には、それぞれ関数 get_include() get_lib() と を使用してアクセスできます。
通常、自分が何をしているのかを理解していない限り、 get_lib()の出力に対して直接リンクすべきではありません。 特に、このオブジェクトに対して直接リンクを行うことは、QiskitのC APIを使用する、配布可能な Python 拡張モジュールを構築する上で安全な方法ではありません。
ただし、直接リンクに関する注意点すべてを理解していれば、この関数を使ってライブラリの場所を取得することができます。
get_include
qiskit.capi.get_include()
C qiskit.h ヘッダーファイルと内部 qiskit/*.h 補助ファイルが含まれているディレクトリを取得してください。
Qiskitをビルド依存関係として使用する場合、通常は、次のように、このディレクトリをコンパイラのインクルード検索パスに含める必要があります
qiskit_include=$(python -c 'import qiskit.capi; print(qiskit.capi.get_include())')
gcc -I "$qiskit_include" my_bin.c -o my_binQiskit パッケージ内のこのディレクトリの場所は固定されておらず、Qiskit のバージョンによって変わる可能性があります。 ディレクトリを取得する際は、常にこの関数を使用してください。
戻り値
パッケージのインクルードファイルディレクトリへの絶対パス。
戻りの型
get_lib
qiskit.capi.get_lib()
すべてのC-APIエクスポートシンボルを含む共有オブジェクトライブラリへのパスを取得します。
通常、このオブジェクトに対して直接リンクすべきではありません。 特に、このオブジェクトに対して直接リンクを行うことは、QiskitのC APIを使用する Python 拡張モジュールを構築する上で安全な方法ではありません。
必要に応じて、このオブジェクトに含まれるC APIシンボルにアクセスするために ctypes を使用することもできますが、ヘッダーファイルで宣言されているC APIの型は、それに対応する Python オブジェクトと互換性がない点に注意してください。
Qiskit パッケージ内のこのファイルの場所と名前は固定されておらず、Qiskit のバージョンによって変わる可能性があります。
戻り値
C-APIのエクスポートシンボルを含む共有オブジェクトライブラリへの絶対パス。
戻りの型