![](/img/trans.png)
[英]How to get a list of classes and functions from a python file without importing it
[英]importing functions from .cpp file into python
让我从免责声明开始,我将这个问题放在大量研究之后,而不是找到任何直接的分步示例。
已经阅读了Cython,SWIG和Boostpython文档,但无法逐步进行操作,因此请在此处发布-
我有一个.cpp和.h文件,其中定义了几个数学函数,我想在python(.py)代码文件中调用它们。
我如何集成?哪种是最好,最整洁的方式。 请说明
请参阅Cython文档的这一部分 。 它需要您逐步完成与C库的接口。
由于我最终使用这里提供的一些帮助和研究来解决了问题,因此让我发布答案。
我使用Cython通过Python导入了CPP函数。
Cython用CPP文件包装Python代码并编译两者。 结果是一个Python模块(可以在setup.py文件中指定该模块的名称),并且可以像往常一样调用该模块。
我面临的问题是从Python调用CPP函数。因此,这是解决该问题的技巧
array.array(array_to_cast)
类型转换类型为Python的double数组。 在以下示例中,我们将python数组dev
转换为c ++数组dev_arr
。 请注意, dev
是python中double类型的数组,因此输入array.array()
的第一个参数是'd' 。 cdef array.array dev_arr = array.array('d',dev)
将dev_arr
数组传递到主要CPP函数时,必须指定以下数组: data.as_doubles
fn_response = cpp_fn_call(stddev_arr.data.as_doubles,...)
休息会顺利进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.