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
