我正在编写一个Python C扩展,在这里列出的示例中,有一段代码:
static PyObject * spam_system(PyObject *self, PyObject *args) {
const char *command;
int sts;
if (!PyArg_ParseTuple(args, "s", &command)) return NULL;
sts = system(command);
return Py_BuildValue("i", sts);
}
根据使用PyArg_ParseTuple解析字符串的文档,“您不应提供字符串本身的存储;将现有字符串的指针存储到传递其地址的字符指针变量中。”那么Python如何知道“command”指向的内存何时可以释放?如何避免内存泄漏?