1

私は ac ライブラリを python アプリケーションに統合しています。そして、理解のためにPythonサイズからC libのラッパー(私が呼び出している)に変数のリストを渡す必要があります
.Pythonアプリに共有ライブラリをロードした後、小さなプログラムを作成しました。Python 側:

 c_args = [5,6]
 PyPrintVal(c_args)

C側:

PyPrintVal(PyObject *c_args)
{
       int i=0;
       int j=0;
       printf("In eINoiseRemoval\n");
       if (!PyArg_ParseTuple(c_args, "ii", &i,&j))
       {      fprintf(stderr, "error in parsing\n");
              return -1;
       }
       printf(i1=%d   j=%d\n, i,j)
}

その後、セグメンテーション違反が発生していますか? 何か残っていますか?
そのために私は探しています http://docs.python.org/2/extending/extending.html#a-simple-example

しかし、何の答えも得られません。ありがとう

4

1 に答える 1

1

gdbこの segfault がどこにあるかを正確に見つけるために使用できます。

$ gdb python
......
> set args my_python_script.py
> run
.......
Segmentation Fault
> where

これにより、スタック トレースが得られ、segfault の正確な場所が示されます。

于 2013-10-08T09:28:41.583 に答える