在parameterx()指向paramu之前,parameterx()将被保存在内存中?

2024-06-01 03:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码

int nArgs;
if (LPWSTR * const szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs))
{
  PySys_SetArgvEx(nArgs, szArglist, false);
  LocalFree(szArglist);
}

在Pythondocumentation中我找不到szArglist所指向的内存是否应该保留到Python关闭或者我可以立即释放它。在

有人能帮我点灯吗?在

谢谢你! 弗拉基米尔


Tags: 代码falseifint指向constnargspysys
1条回答
网友
1楼 · 发布于 2024-06-01 03:20:19

pythoncapi看起来像是在使用一个新的PyList对象来填充参数,并为char*参数分配自己的内存。在

对于长度超过1个字符的字符串,PySys_SetArgvEx将为该字符串分配自己的内存。在

因此,可以安全地删除传递给PySys_SetArgvEx的任何内存。在

相关问题 更多 >