Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Py_递减分段故障 我在C++中嵌入Python有问题。我使用的是Mingw w64 gcc和64位Python 2.7.11 #include <Python.h> int main(int argc, char *argv[]) { Py_Initialize(); PyObject* pName = PyString_FromString("test"); Py_DECREF(pName); Py_Finalize(); return 0; }_Python_C++_Embedded Language - Fatal编程技术网

Py_递减分段故障 我在C++中嵌入Python有问题。我使用的是Mingw w64 gcc和64位Python 2.7.11 #include <Python.h> int main(int argc, char *argv[]) { Py_Initialize(); PyObject* pName = PyString_FromString("test"); Py_DECREF(pName); Py_Finalize(); return 0; }

Py_递减分段故障 我在C++中嵌入Python有问题。我使用的是Mingw w64 gcc和64位Python 2.7.11 #include <Python.h> int main(int argc, char *argv[]) { Py_Initialize(); PyObject* pName = PyString_FromString("test"); Py_DECREF(pName); Py_Finalize(); return 0; },python,c++,embedded-language,Python,C++,Embedded Language,问题是它在Py_DECREF中分离故障。我已尝试展开宏,并将segfault追溯到以下语句: ((*(((PyObject*) ((PyObject *) (pName)))->ob_type)->tp_dealloc)((PyObject *) ((PyObject *) (pName)))); 结果,tp_dealloc指向0x1 Python文档中提供的示例代码中也存在同样的问题: 如果我删除了对Py_DECREF(pName)和Py_DECREF(pArgs)的一些调用,

问题是它在Py_DECREF中分离故障。我已尝试展开宏,并将segfault追溯到以下语句:

((*(((PyObject*) ((PyObject *) (pName)))->ob_type)->tp_dealloc)((PyObject *) ((PyObject *) (pName))));
结果,tp_dealloc指向0x1

Python文档中提供的示例代码中也存在同样的问题:

如果我删除了对Py_DECREF(pName)和Py_DECREF(pArgs)的一些调用,文档中的代码将按预期工作。然而,我在web上找到的每个示例(包括Python文档中的示例)都调用Py_DECREF


这一错误的原因可能是什么?我的构建环境中可能存在一些不一致性吗?

因此,显然,我的环境出了问题。我试着在另一台电脑上编译同样的代码,但是没有了segfault

((*(((PyObject*) ((PyObject *) (pName)))->ob_type)->tp_dealloc)((PyObject *) ((PyObject *) (pName))));