首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clock()返回负值?

clock()返回负值?
EN

Stack Overflow用户
提问于 2011-12-23 11:58:24
回答 1查看 1.1K关注 0票数 0

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

下面是我在main.cpp中的设置(在适当的地方进行剪切):

代码语言:javascript
复制
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()在程序的其余部分中被广泛使用,所以当它出现这样的故障时,它会导致很多问题。

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

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-23 12:05:34

根据Microsoft's documentation的说法,如果“运行的时间量不可用”,它可以返回-1。不幸的是,他们没有解释为什么时间是不可用的。

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8612108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档