python嵌入C语言

编写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)

猜你喜欢

转载自blog.csdn.net/luolinll1212/article/details/82778666