三个步骤:
1、编写好c语言程序
2、将c程序编译成.so文件
3、编写python,使用python运行
写个很简单的demo:
第一步,写一个c语言文件实现两数字相加,文件名字叫add.c:
#include
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调用c、ctype官方文档、
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/173797.html原文链接:https://javaforall.net
