【C編程】Python調用C
如何在Python語言中調用C庫?
C側:.c文件編譯為.dll文件或.so文件,而不是一般的.o文件。例如:gcc -shared -o demo.dll demo.c
Python側:用ctypes庫的CDLL函數調用該.dll或.so文件。例如:
from ctypes import CDLL lib = CDLL("./demo.dll")
FlinCode博主[1]說Windows是.dll,Linux生成.so文件。我的電腦是MacOS,兩者均可以的。
舉例
- C編程
編輯 demo.c
#include <stdio.h>
int addFromDLL(int a, int b){
return a+b;
}
編譯 demo.c
gcc -shared -o demo.dll demo.c
可以看到生成demo.dll文件。
- Python編程
編輯python_call_c.py
from ctypes import CDLL
lib = CDLL("./demo.dll")
result = lib.addFromDLL(2025, 1)
print(result)
編譯python_call_c.py
python3 python_call_c.py
得到結果2026。
參考:
FlinCode, Calling C Functions from Python, 2024-Jan-12, https://www.youtube.com/watch?v=Fi-IELfykxI ↩︎

浙公网安备 33010602011771号