這個方法是利用了python的一個模塊ctypes實現的。
首先是C語言的test.c源碼函數:
#include <stdio.h>
int test(char a[100])
{
printf(a);
return 0;
}
然後,使用gcc命令將其打包成一個共享庫,就可以提供給python直接使用了,命令如下:
gcc test.c -fPIC -shared -o libtest.so
源碼test.c,生成so文件libtest.so
之後即可用python直接調用c中的函數test了,python調用如下:
import ctypes
so = ctypes.CDLL("./libtest.so")
so.test("aaabbbccc")
用python執行,即可打印“aaabbbccc”字樣,如圖(字符沒有換行,顯示略挫):