我试图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”。我不知道出口处理程序的任何相关限制。
有人可以告诉我这里出了什么问题吗?