python如何使用sdk_Python如何调用SDK接口(.h/.dll)?

以前也有涉猎,但是没有深入研究,python的C的互相调用可以RPC等远程方式,这种方式语言无关。

如果直接调用,原理一般都是在python方面封装或者在C方面封装。

对于在Python方面封装,现在我只知道ctypes,需要针对每个C函数写一个Python函数,流程都是构造参数,设置返回值之类,重复且繁琐,但是可以丝毫不修改C那边的dll,然后你给别人发布你封装好的python函数就好了。另外,ctypes构造结构体很复杂,不怎么推荐。

在C方面封装,也就是源码前面加一个#include "python.h".编译成dll,Python就可以直接import了,或者boost python,这需要改动dll的源码重新编译,对于已经存在的第三方dll,需要套一层自己的壳,写一个c文件套一层,写完后就利用swig完成剩余的事情,如果第三方dll同时也提供了lib静态链接库,这层壳就不用了,就直接用swig吧。

最后,我没有用这种方法做过大型项目,听说wxpython就是swig搞的。

不知道你说的swig遇到的困难是什么,我觉得挺好用,swig自带文档和许多Python的例子。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值