在python中調用並使用c語言

三個步驟:

1、編寫好c語言程序

2、將c程序編譯成.so文件

3、編寫python,使用python運行


寫個很簡單的demo:

第一步,寫一個c語言文件實現兩數字相加,文件名字叫add.c:

#include <stdio.h>

int add_int(int, int);
float add_float(float, float);

int add_int(int num1, int num2){
    return num1 + num2;

}

float add_float(float num1, float num2){
    return num1 + num2;

}

第二步,打開cmd,cd路徑到add.c所在目錄下方,然後輸入:

gcc --shared -fpic -o add.so add.c

每個平臺將c文件編譯成so文件的命令都不同,我這個是windows下的命令。其它的例如Linux等OS命令請自行查詢命令資料。

例如我的:


然後我們就能看到目錄下生成了一個add.so文件

第三步,將so文件放到pycharm的python代碼的目錄下,並編寫python代碼 :

#coding utf-8
from ctypes import *

#-----方法1------
#加載編譯好的so文件
adder = CDLL('./add.so')
#調用c文件的函數adder.add_int(),實現int類型數據相加
res_int = adder.add_int(4,5)
print ("Sum of 4 and 5 = " + str(res_int))

#----方法2----
#在python中定義c語言能識別的數據類型
a = c_float(5.5)
b = c_float(4.1)
#定義函數並且調用,實現相加
add_float = adder.add_float
add_float.restype = c_float
print("Sum of 5.5 and 4.1 = ", str(add_float(a, b)))

輸出:



參考資料:python調用cctype官方文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章