操作系統(tǒng): macOS 10.13.6
先寫(xiě)一個(gè)簡(jiǎn)單的C語(yǔ)言函數(shù)
//filename: add.c
#include <stdio.h>
int add(int a, int b)
{
return a + b;
}
使用gcc將其編譯為動(dòng)態(tài)鏈接庫(kù)
gcc add.c -fPIC -shared -o libadd.so
得到libadd.so文件谬哀,接下來(lái)使用python調(diào)用該文件
寫(xiě)一個(gè)簡(jiǎn)單的python文件
# filename: main.py
import ctypes
so = ctypes.CDLL("./libadd.so")
num = so.add(7, 9)
print(num)
注意將兩個(gè)libadd.so和main.py兩個(gè)文件放在同一個(gè)文件夾中络拌,或者在第四行中使用絕對(duì)路徑
運(yùn)行python
python3 main.py
可以得到結(jié)果16
我的電腦上python3對(duì)應(yīng)的命令為python3睦擂,請(qǐng)根據(jù)需要自行修改