首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以/如何获得在python上运行pythran生成的c++代码?

是否可以/如何获得在python上运行pythran生成的c++代码?
EN

Stack Overflow用户
提问于 2019-08-05 09:47:21
回答 2查看 556关注 0票数 5

Pythran是Python到C++编译器,用于Python的一个子集,包括部分numpy支持。它的作用有点像Numba和Cython-您注释了一个函数的参数,然后它接管了进一步的类型注释和代码专门化。它利用了矢量化的可能性和基于OpenMP的并行化的可能性。

在一些例子中,我展示了如何从python内部使用它来优化它,但是我想知道是否可以使用它将python代码翻译成c++.

它能做到吗?如果我想使用的函数依赖于另一个函数呢?如果其他函数是从一个单独的模块导入的呢?是否有这样一个过程的例子/教程?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-19 13:08:07

票数 5
EN

Stack Overflow用户

发布于 2022-03-06 15:54:24

如果您可以使用Pythran装饰器编译代码(并不总是那么容易),那么获得C++代码非常简单:

代码语言:javascript
复制
pythran -e my-module.py

这篇文章以某种方式联系在下面,作者说了一些关于不需要装饰任何东西的东西。这里不太确定。

但是是的,它将为您提供大量模板化的C++代码,可能具有NumPy DLL依赖项,也可能是Python依赖项(显然,当没有生成NumPy模块时,您可以跳过这一点)。可能是要链接到的OpenBLAS或MKL,也可能是OpenMP库。当然,如果你对所有这些DLL进行正确的编码,你可以避免它,尽管你不会得到巨大的加速。祝你好运,虽然它读起来不太清楚。但是,它是一个依赖于大量Pythran模板的.cpp文件.

我不会使用Pythran来生成您在其他项目中使用的C++代码;它的主要目的是制作快速Python模块。但我认为,因为生成.cpp文件非常容易,所以可以。但是,自动生成的代码总是有点难理解,因为您将获得类型为__type0的类型为__type200或其他类似类型的变量,一个声明可能引用其中的5个变量。这并不是要低估Pythran的美丽和功能,它是一个很棒的项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57356040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档