三個步驟:
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)))
輸出: