(最新博彩娱乐网站大全) 使用python扩展C语言传参时,涉及到指针的问题
最近在写python扩展C的相关代码,遇到一个问题,专门上来求助!
是有关于python扩展C传参的问题,如果传的参数是整形和字符串,很容易处理,但是遇到二级指针怎么办?
如下例子中:该如何写关于 alloc_mem 函数的扩展模块呢?
#include <stdio.h>
#include <string.h>
#include <stdlib.h> char* alloc_memchar **p
{ *p = char *malloc100; if *p == NULL return NULL; strcpy*p, "hello python!"; return *p;
} int mainint argc, char *argv[]
{ char *p; printf"%s
", alloc_mem&p; return;
}
当时可能是钻进死胡同了,后来通过其他方法解决了问题,使用的就是python扩展C模块的方法,就是评论中提到的PyObject。
就是在依然使用 int 或 char * 的参数,只不过进一步的操作在C函数内完成。
依然谢谢flyzero,garfileo,araraloren三位给予的指导。
发表评论