gpt4 book ai didi

c++ - clock() 返回负值?

转载 作者:行者123 更新时间:2023-11-27 23:26:55 27 4
gpt4 key购买 nike

我已经创建了一个服务器程序,并且某个错误发生了两次,其中函数“clock()”返回了一个负值(并使服务器崩溃)。两次都是当程序在 Windows 32 位 VPS 上运行超过 100 小时时发生的。

这是我在 main.cpp 中的设置(在适当的地方剪切):

while (1) {
Sleep(STEP);

//execute main code like connection handling, AI, etc.

//check for clock error
if (clock() < 0) {
//error saved here

//close server
return 0;
}
}

就是这样,非常简单。 clock() 在程序的其余部分广泛使用,因此当它像这样出现故障时会导致很多问题。

我想知道,为什么它会返回一个负值,我该如何解决?

谢谢。

最佳答案

根据 Microsoft's documentation如果“耗时量不可用”,它可以返回 -1。不幸的是,他们没有解释时间将如何不可用。

clock_t 的定义是 long,它是一个 32 位有符号值 - 它可以在溢出前容纳 2**31。 CLOCKS_PER_SECOND 的值为 1000,因此应该可以使用 596 小时。

关于c++ - clock() 返回负值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8612108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com