拡張された Python の概念を使用してラッパー ルーチンを作成していますが、列挙型の処理方法がわかりません。基本的に、入力の1つを取るac関数はenumです。どの形式オプションを使用する必要がありますか?
typedef enum
{
ISOUTPUT = 'W',
ISINPUT = 'R'
} myenum;
int func1( i int, b myenum)
私のラッパールーチン:
static PyObject *Wrapper_func1(PyObject *self, PyObject *args)
{
int x, result;
myenum y;
PyArg_ParseTuple(args,"iC",x,y);
result= func1(x, y);
return Py_BuildValue("i",result);
}
Pythonスクリプトで
import mymodule
x= mymodule.func1(1,'R') --- giving attribute error, when I debugged I found it is giving segment violation,
ところで:
#0 convertsimple (arg=0x73e960, p_format=0x7fffffffd348,
p_va=<value optimized out>, flags=0,
msgbuf=0x7fffffffd1b0 "\310V\266\252\252*", bufsize=256,
freelist=0x7fffffffd330) at Python/getargs.c:684
#1 0x000000000048e30f in convertitem (freelist=<value optimized out>,
bufsize=<value optimized out>, msgbuf=<value optimized out>,
levels=<value optimized out>, flags=<value optimized out>,
p_va=<value optimized out>, p_format=<value optimized out>, arg=0x73e960)
at Python/getargs.c:499
#2 vgetargs1 (freelist=<value optimized out>, bufsize=<value optimized out>,
msgbuf=<value optimized out>, levels=<value optimized out>,
flags=<value optimized out>, p_va=<value optimized out>,
p_format=<value optimized out>, arg=0x73e960) at Python/getargs.c:330
#3 0x000000000048ea68 in PyArg_ParseTuple (args=0x73e960, format=0x0)
at Python/getargs.c:102