Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C++;_C++_Python 3.x_Numpy_Cython_Python Embedding - Fatal编程技术网

C++ 在C++;

C++ 在C++;,c++,python-3.x,numpy,cython,python-embedding,C++,Python 3.x,Numpy,Cython,Python Embedding,我有很多用python编写的函数(用于快速原型)。我的主要项目是C++,我想从C++程序中调用这些函数。p> 这些函数使用一些专门的python模块,如numpy、pyside等 我尝试使用Cython的“-embed”功能将这些函数转换为C文件,然后将其编译为对象文件。唯一的问题是,Cython将这些函数转换为独立程序,即在它创建的.c文件中生成一个main()函数。我不想这样,我只是想从我的C++程序中调用它们,并使用我得到的结果。 有没有其他替代方案,我可以用来实现这一点(Python/C

我有很多用python编写的函数(用于快速原型)。我的主要项目是C++,我想从C++程序中调用这些函数。p> 这些函数使用一些专门的python模块,如numpy、pyside等

我尝试使用Cython的“-embed”功能将这些函数转换为C文件,然后将其编译为对象文件。唯一的问题是,Cython将这些函数转换为独立程序,即在它创建的.c文件中生成一个main()函数。我不想这样,我只是想从我的C++程序中调用它们,并使用我得到的结果。 有没有其他替代方案,我可以用来实现这一点(Python/CAPI、SWIG等)?或者我使用cython嵌入python是错误的


我正在使用Python3和cython0.22.1。

我认为您必须使用它。这是否会导致大量令人困惑的引用减量调用?我读到的还涉及到很多数据类型从Python到C的转换。我如何将NUMPY数组转换成C++中兼容的类型?此外,除此之外,还有其他关于此领域的示例/文档吗?据我所知,
--embed
cython标志不允许您从C接口Python代码。要访问numpy数组,请使用。是的,使用C语言中的Python代码通常比使用其他方法要复杂得多。我想你必须使用它。这不是需要很多令人困惑的引用减量调用吗?我读到的还涉及到很多数据类型从Python到C的转换。我如何将NUMPY数组转换成C++中兼容的类型?此外,除此之外,还有其他关于此领域的示例/文档吗?据我所知,
--embed
cython标志不允许您从C接口Python代码。要访问numpy数组,请使用。是的,使用C语言中的Python代码通常比使用其他方法需要更多的工作。