python调用c/c++概述

因为实验室项目的进度,需要把之前用c写的接口程序转为python。因为c的执行速度更高,所以考虑保持原来的c代码不变,用python直接调用其中的函数。实际中也经常用这样的方法来给python加速,参考博客[1]中就提到了,因为他们的程序中有特别大的双层循环,还有位操作,所以效果明显——加速后C运行速度比python快了1000倍。这就来到了如何在python中调用c/c++代码的问题。

在python和c/c++交互使用中,有以下几个不同方面:

本文的重点在介绍python调用c/c++动态链接库,特别是应用ctypes进行类型转换,包括自己在尝试过程中遇到的问题。其他部分简单介绍并给一些博客链接。

 

一、 python调用c/c++动态链接库

python调用动态链接库这件事本身浅显易懂。总体就三步:

1、 编写c语言文件

2、 gcc编译生成动态链接库

3、 python导入动态链接库并调用函数

导入ctypes,通过ctypes导入动态链接库。

这样就成功将c嵌入到python中了。

 

但是问题就来了。我们一般调用的函数不会这么简单的。通常我们都是希望在c中完成复杂的计算,再把结果返回给python。所以我们

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值