编写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;
}
将C语言文件转化为.so的模块,在Linux系统环境
$ gcc -shared -Wl,-soname,adder -o adder.so -fPIC add.c
编写python文件,test01.py
from ctypes import *
import os
path = "../c/adder.so"
adder = CDLL(path)
res_int = adder.add_int(4,5)
print(res_int)
a = c_float(5.5)
b = c_float(4.1)
add_float = adder.add_float
add_float.restype = c_float
res_float = add_float(a,b)
print(res_float)