gpt4 book ai didi

python - 这个 PyList_New、PyList_SET_ITEM、Py_BuildValue 组合是否泄漏?

转载 作者:行者123 更新时间:2023-11-30 17:11:29 25 4
gpt4 key购买 nike

PyObject *list_over_proposals = PyList_New(n_proposals);
for (size_t j = 0; j < n_proposals; j++) {
PyList_SET_ITEM(list_over_proposals, j,
Py_BuildValue("[i,i,i,i]", a, b, c, d));
}

尽管 a、b、c 和 d 是典型整数(都在 1 到 500 左右),但该段在几百次迭代后就会出现故障,即使是在段故障之前的最后一次迭代期间也是如此。

其他信息:Python 2.7.3、g++ (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1

最佳答案

我认为这里的问题可能是所有 Py* 功能(包括 PyArray* 功能)均由您自行承担风险,除非您正确修改代码以成为 C 扩展模块。 (我没有这样做;我只是通过 ctypes 调用函数。)

关于这个主题的清晰文章是 here 。有一点样板,但除此之外,这个方法非常好。没有外部依赖项(如 Boost.Python),它使您的 Python 代码非常干净,无需通过 ctypes 指定函数签名。

关于python - 这个 PyList_New、PyList_SET_ITEM、Py_BuildValue 组合是否泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32239920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com