三个步骤:
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)))
输出:
联系客服