打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在python中调用并使用c语言

三个步骤:

1、编写好c语言程序

2、将c程序编译成.so文件

3、编写python,使用python运行

写个很简单的demo:

第一步,写一个c语言文件实现两数字相加,文件名字叫add.c:

  1. #include <stdio.h>
  2. int add_int(int, int);
  3. float add_float(float, float);
  4. int add_int(int num1, int num2){
  5. return num1 + num2;
  6. }
  7. float add_float(float num1, float num2){
  8. return num1 + num2;
  9. }

第二步,打开cmd,cd路径到add.c所在目录下方,然后输入:

gcc --shared -fpic -o add.so add.c

每个平台将c文件编译成so文件的命令都不同,我这个是windows下的命令。其它的例如Linux等OS命令请自行查询命令资料。

例如我的:


然后我们就能看到目录下生成了一个add.so文件

第三步,将so文件放到pycharm的python代码的目录下,并编写python代码 :

  1. #coding utf-8
  2. from ctypes import *
  3. #-----方法1------
  4. #加载编译好的so文件
  5. adder = CDLL('./add.so')
  6. #调用c文件的函数adder.add_int(),实现int类型数据相加
  7. res_int = adder.add_int(4,5)
  8. print ("Sum of 4 and 5 = " + str(res_int))
  9. #----方法2----
  10. #在python中定义c语言能识别的数据类型
  11. a = c_float(5.5)
  12. b = c_float(4.1)
  13. #定义函数并且调用,实现相加
  14. add_float = adder.add_float
  15. add_float.restype = c_float
  16. print("Sum of 5.5 and 4.1 = ", str(add_float(a, b)))

输出:


参考资料:python调用cctype官方文档

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python进阶系列(十三)
python如何调用C接口
Python调用Windows下的DLL
Python数值和进制转换
Julia机器核心编程.多重分配
如何用C语言画一个“心形”
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服