我使用pyinstaller将python.py文件转换为可执行文件。可执行文件在我的计算机上工作但在其他计算机中崩溃。我收到以下错误消息。
Failed to get ANSI buffer size <WideCharToMultiByte: parameter error
Failed to convert progname to wchar_t
可能是什么问题?
答案 0 :(得分:3)
在Microsoft的msdn上,您可以找到
小心错误地使用 WideCharToMultiByte 功能可能会危及应用程序的安全性。调用此函数很容易导致缓冲区溢出,因为lpWideCharStr指示的输入缓冲区大小等于Unicode字符串中的字符数,而lpMultiByteStr指示的输出缓冲区大小等于字节数。为避免缓冲区溢出,应用程序必须指定适合缓冲区接收的数据类型的缓冲区大小。 从UTF-16转换为非Unicode编码的数据会受到数据丢失的影响,因为代码页可能无法表示特定Unicode数据中使用的每个字符。
您可以确保: