PythonからC言語のライブラリを呼び出す方法はいくつかありますが、ここではC言語で作成した関数をPython/C APIを利用したラッパーを介して呼び出す方法について解説します。また、ctypesモジュールを利用する方法もあります。

C言語の関数の実装

まずはPythonから呼び出ししたいC言語の関数を実装します。このC言語の関数の実装はいつも通りの書き方で実装して良いです。

#include <stdio.h>
#include <string.h>

int add(int x, int y) {
    printf("call C function(add)!\n");
    return x + y;
}

int sub(int x, int y) {
    printf("call C function(sub)!\n");
    return x - y;
}

ラッパー関数の実装

Pythonスクリプト上のデータとC言語のソースコード上のデータの扱いは大きく異なります。そのため、この違いを吸収するためのラッパー関数を設け、そのラッパー関数でデータの違いを吸収してから目的のC言語の関数を呼び出すようにする必要があります。

モジュール化のための実装

生成するライブラリがPythonのモジュールとして適切なものとなるようモジュール化を行う必要があります。

ライブラリのビルド

上記を実装後に「ライブラリのビルド」を行ってライブラリの生成を行います。

Python スクリプトの実装

そのライブラリをモジュールとして import を行い、そのモジュールの関数を実行するように「Python スクリプトの実装」を行います。

以上がPythonからC言語の関数を呼び出す一連の流れです。具体的なコード例や詳細な説明については、参考リンクをご覧ください。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です