python - 如何在c中调用静态pyobject类型的c函数
问题描述
我想在那个 c 程序内部调用我在我的 c 程序中描述的静态 PyObject 类型的函数。如何调用这个函数?(Pyobject self) 参数是什么?我知道“args”参数将是任何模块名称。
我试过打电话mynewfunction("",Pfunc)
。这里 mymynewfunction
定义为static PyObject mynewfunction(Pyobject *self, PyObject *args)
。但它没有用。之后如何从 C 内部调用此函数PyInitialize()
?我会用什么代替*self?
#include <Python.h>
static PyObject *string_arr_conversion(PyObject *self, PyObject args){
Pyobject *str_arr;
int i;
.......
.......
}
int main(int argc,char *argv[]){
............
............
Py_Initialize();
.............
string_arr_conversion("",pFunc);
}
在这里,我将 self 参数保留为空。我们需要用什么来代替自我论证?或者如何在 c 中调用这个函数?
解决方案
由于这似乎是一个函数而不是一个方法,因为它不属于一个类,所以你可以使用NULL
self. 所以用类似的东西调用函数
string_arr_conversion(NULL, pFunc);
就是你要找的。
推荐阅读
- node.js - nodeJS 发生了什么?卸载并重新安装时抛出错误
- python - 使用 Selenium (Python) 插入内联图像
- c++ - 如何使用winsock2连接到本地主机
- python - 带引号的 python 参数中带有空格的字符串
- php - 更新到 PHP 7.4.6 后 Nette 出现问题
- php - 当条件由组件方法给出时,Laravel 刀片条件在组件中不起作用
- amazon-web-services - java.lang.NullPointerException:无法在空对象上调用方法 minus() - Jenkins
- html - 移动设备上的 Bootstrap/MDBootstrap 无法正确显示封面图像,Live Server 问题
- node.js - 为什么 WebRTC 会丢弃音频
- php - 无论如何要使用php上传包含子文件夹的文件夹