スポンサーリンク
Pythonのctypesを使って、c言語の自作関数を呼び出す
Pythonのctypesを使って、c言語の自作関数を呼び出すことができます。
例えば、下記のようにsample.cにadd3Num()を定義します。
$ cat sample.c #include <stdio.h> int add3Num(int a, int b, int c){ return a + b + c; }
-sharedオプションをつけてコンパイルし、sample.soを生成します。
$ gcc -shared -o sample.so sample.c
Pythonのファイルには、ctypesをimportして、先程のsample.soをロードします。
あとは、呼び出すだけになります。
import ctypes libSample = ctypes.cdll.LoadLibrary("sample.so") if __name__ == '__main__': num = libSample.add3Num(1, 3, 5) print(num)
下記が実行結果になります。
$ ./sample.py 9
スポンサーリンク