记录一点关于python的c++拓展的知识点
2021/4/13 12:26:03
本文主要是介绍记录一点关于python的c++拓展的知识点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python和c++那点事儿
这个博客我觉得写得挺好,从简单例子给我们展示了一般会用到的几种扩展方式,如torch.util.cpp_extension,.pyx,distutils.extension,还有pybind11,直接调用动态库等。
点这里看
学习一下的缘由
其实,我是在复现一篇基于faster rcnn的代码时遇到的问题,由于是基于torch0.3,所以使用了torch,util.cffi来扩展c++,但是这个却在后面的torch版本中被淘汰了,所以我就索性把这个拓展方式改成高版本的torch支持的方式了,顺便补一下这方面的知识,之前一直pull代码按傻瓜教程操作,不明觉厉。
主要改动就是在cffi中只需要给出c++操作或者层的c/cpp源码以及cuda源码,按照cffi.create_extension操作就行,再build一下。改成高版本后,需要在此c/cpp源码中增加pybind11的接口说明,然后最好将c改成cpp,也就是加入extern "C"说明。
另外pyx方式也挺简单,只需要利用cython写一个python和c的脚本引用所需要的c源码就可以,然后就可以利用distuitils包装再利用setuptools来编译就行。
这篇关于记录一点关于python的c++拓展的知识点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python