C++ 在c++;使用默认api?
假设我有一个函数C++ 在c++;使用默认api?,c++,python-2.7,C++,Python 2.7,假设我有一个函数 def pyfunc(): print("ayy lmao") return 4 我想用c来称呼它++ int j = (int)python.pyfunc(); 我如何做? 你可能想看看这个:,为了从C++调用Python函数,你必须嵌入Python。 在C++应用程序中。为此,您必须: 加载Python DLL。如何做到这一点取决于系统: Windows下的LoadLibrary,Unix下的dlopen。如果Python DLL是 在您用于DLL的常用
def pyfunc():
print("ayy lmao")
return 4
我想用c来称呼它++
int j = (int)python.pyfunc();
<>我如何做? 你可能想看看这个:,为了从C++调用Python函数,你必须嵌入Python。 在C++应用程序中。为此,您必须:
LoadLibrary
,Unix下的dlopen
。如果Python DLL是
在您用于DLL的常用路径中(%path%
在Windows下,
LD\u LIBRARY\u PATH
在Unix下),如果您尝试,这将自动发生
调用Python C接口中的任何函数。手动加载将
在版本等方面给你更多的控制权Py\u Initialize()
对其进行初始化。你可能想打个电话
Py\u SetProgramName()
或Py\u SetPythonHome()
首先建立
环境PyImport\u导入模块
。如果模块不在标准路径中,
您必须将其位置添加到sys.path
:使用
PyImport\u ImportModule
获取模块“sys”
,然后
PyObject\u GetAttrString
获取属性“path”
。路径
属性是一个列表,因此可以使用任何列表函数添加
需要什么就做什么PyObject\u GetAttrString
,以获取
作用一旦你得到了,你就把参数打包成一个元组或者
字典(用于关键字参数),并使用PyObject\u Call
调用
它去你喜欢的搜索引擎搜索“C++ Python API”,我确信你会有点。尝试,证明没有结果,这就是为什么我去看,所以你没有找到OR(在我的搜索前两个链接)或关于它使它非常容易嵌入或扩展Python在C++中。我只是需要一些帮助,没必要屈尊俯就。我是这么做的,我很难理解这一切,你能帮我解释一下吗?