ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

【C編程】Python調用C

【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

#https://www.youtube.com/watch?v=Fi-IELfykxIfrom ctypes import CDLLlib =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 ↩︎

返回列表