我是一个扩展菜鸟.我想要做的是创建一个不需要安装其他库的扩展.这是不可能的,因为扩展必须在运行时链接到特定版本的libpython?
我正在编写一个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);
}
Run Code Online (Sandbox Code Playgroud)
根据使用PyArg_ParseTuple解析字符串的文档,"您不能为字符串本身提供存储;指向现有字符串的指针存储在您传递的地址的字符指针变量中." 那么Python如何知道"命令"指向的内存何时可以被释放?如何不发生内存泄漏?