gpt4 book ai didi

python - 通过名称获取对嵌入式 python 函数的 C 引用?

转载 作者:行者123 更新时间:2023-11-30 16:05:03 25 4
gpt4 key购买 nike

假设我有一些包含函数 foo 的嵌入式 python 代码,那么获取对该函数的引用(与 PyObject_CallObject 一起使用)的最佳方法是什么?

一种方法是让某个函数手动或通过使用反射来注册每个函数以及函数名称。这似乎有点矫枉过正。

另一种方法是创建一个“加载器”函数,该函数获取函数名称并返回对该函数的引用。更好,但我仍然需要用 C 注册加载器函数。

我是否缺少一种更好的方法来执行此操作,无论是否需要编写任何额外的 python 代码?

最佳答案

阅读文档中有关 embedding Python 的部分。我想您已经引用了包含该函数的模块。最后有一个示例展示了如何从对象中获取函数引用。

pFunc = PyObject_GetAttrString(pModule, argv[2]);
/* pFunc is a new reference */

if (pFunc && PyCallable_Check(pFunc)) {
...
}
Py_XDECREF(pFunc);

关于python - 通过名称获取对嵌入式 python 函数的 C 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2067496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com