Pythonは豊富なライブラリを備えていますが、時にはC言語で書かれたライブラリを使いたいこともあります。Pythonではctypesというライブラリを使うことで、C言語のライブラリをPythonから利用することができます。
ctypesを使ってC言語ライブラリを読み込む方法
ctypesを使うには、まずctypesをimportします。その後、cdllという関数を使ってC言語ライブラリを読み込みます。例えば、libc.so.6というC言語ライブラリを読み込む場合は以下のようになります。
import ctypes
libc = ctypes.CDLL('libc.so.6')
C言語ライブラリの関数をPythonから呼び出す方法
C言語ライブラリの関数をPythonから呼び出すには、ctypesを使って以下のように書きます。
libc.printf("Hello, World!")
ここで、printfはC言語の関数であり、"Hello, World!"は文字列です。このようにして、C言語ライブラリの関数をPythonから呼び出すことができます。
C言語ライブラリの関数の戻り値をPythonで使う方法
C言語ライブラリの関数の戻り値をPythonで使うには、ctypesを使って以下のように書きます。
result = libc.rand()
ここで、randはC言語の関数であり、resultはその戻り値を格納する変数です。このようにして、C言語ライブラリの関数の戻り値をPythonで使うことができます。
ctypesを使ったC言語ライブラリの例
以下は、C言語の標準ライブラリであるstdlibからrand関数を使って乱数を生成するPythonのコードです。
import ctypes
libc = ctypes.CDLL('libc.so.6')
result = libc.rand()
print(result)
以上が、ctypesを使ってC言語ライブラリをPythonから利用する方法です。