Python調用C語言函數


在C調用Python模塊時需要初始化Python解釋器,導入模塊等

但Python調用C模塊卻比較簡單,ctypes模塊提供了和C語言兼容的數據類型和函數來加載dll或so文件,因此在調用時不需對源文件做任何的修改

1.編寫C語言代碼,可參考 https://www.cnblogs.com/zhouzhishuai/p/9529487.html demo.c 編寫。

2.接下來將C文件編譯為.so文件(或windows下為dll)輸入 gcc demo.c -fPIC -shared -o libdemo.so

其中-shared代表這是動態庫,-fPIC使得位置獨立(如果程序本來就是獨立的話會有警告,無視即可),-o指定了輸出文件,改成dll后綴一樣可以用。

此時在當前目錄下就生成了libhello.so 的動態鏈接庫

3.在Python編輯器里面輸入以下代碼,就可以看到控制台輸出 3 了。

import ctypes
lib = ctypes.cdll.LoadLibrary('libdemo.so文件路徑')
res = lib.add(1,2)
print(res)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM