【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,兩者均可以的。


舉例

  1. 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文件。

  1. 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。


參考:


  1. FlinCode, Calling C Functions from Python, 2024-Jan-12, https://www.youtube.com/watch?v=Fi-IELfykxI ↩︎

posted @ 2025-11-30 10:41  Dersu  阅读(2)  评论(1)    收藏  举报