我试图std::exit
在我的 GCC10 编译的 Qt 5 应用程序中记录调用。将QDateTime
对象转换为字符串时会失败。可以使用以下代码段复制它:
void exitHandler() noexcept
{
QString b = QDateTime::currentDateTime().toString();
}
int main(int pArgc, char* pArgv[]) noexcept
{
std::atexit(&exitHandler);
QString a = QDateTime::currentDateTime().toString();
std::exit(1);
return 0;
}
变量a
包含预期的日期/时间,而变量b
为空。使用 UTC 时间时,b
为“GMT”。我不知道出口处理程序的任何相关限制。
有人可以告诉我这里出了什么问题吗?