在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命令请自行查询命令资料。

例如我的:


扫描二维码关注公众号,回复: 2721520 查看本文章

然后我们就能看到目录下生成了一个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官方文档

猜你喜欢

转载自blog.csdn.net/aic1999/article/details/80390454