我有下面的代码
int nArgs;
if (LPWSTR * const szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs))
{
PySys_SetArgvEx(nArgs, szArglist, false);
LocalFree(szArglist);
}我在Python中找不到文档,如果szArglist指向的内存将被保存,直到szArglist关闭,或者我可以立即释放它。
有人能给这个放点光吗?
谢谢!弗拉基米尔
发布于 2016-07-28 19:36:05
Python看起来像是在使用一个新的PyList对象来填充args,并且为char*参数分配自己的内存。
对于超过1个字符的字符串,PySys_SetArgvEx将为该字符串使用自己的内存。
因此,删除传递给PySys_SetArgvEx的任何分配的内存是安全的。
https://stackoverflow.com/questions/34510834
复制相似问题