Python中調用c語言(簡單版)


Python中有時需要調用c程序中的函數。使用ctype庫可以很方便地調用c語言。現說明方法,以及注意事項。

c程序編譯為.so文件:

我們需要的c語言文件為test.c,要從其中調用func(x,y)函數。

gcc -fPIC -shared test.c -o test.so

導入該文件

隨后,我們在python中導入該test.so文件,方法如下:

import os
from ctypes import *

p = os.getcwd() + '/test.so' # 文件路徑
f = CDLL(p) # 用CDLL方法讀取該.so文件。

調用函數

這時我們已經讀導入了該文件,可以使用文件中的函數了。
現在分情況討論,如果func中傳入的參數均為整數,那么比較簡單:

a = 3
b = 4
f.func(a, b)

如果傳入的參數為浮點數,那么得提前聲明一下變量:

c = c_float(5.5)
d = c_float(6.66)
f.func(c, d)

如此,便可以正確調用。


免責聲明!

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



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