首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >clock()函数在C中总是至少返回50

clock()函数在C中总是至少返回50
EN

Stack Overflow用户
提问于 2013-08-31 21:41:47
回答 2查看 147关注 0票数 2

我不是一个程序员,但我最近对编码很感兴趣,开始自己学习C,然后我开始用它解决ProjectEuler.net的问题。

我在编写的每个源代码末尾都添加了这两行代码:

代码语言:javascript
运行
复制
printf ( "The number you are looking for is %d", 0 );
printf ( "\n... and took %d / %d seconds to compute that", clock(), CLOCKS_PER_SEC );

..。用我需要的数字代替零作为答案。

问题是,无论我如何优化我的工作,printf从不显示少于50个时钟,即使我使用一个完全空白的源代码,除了这两个操作之外,它仍然显示50个时钟。是上面的#include's花了这50个钟,还是别的什么东西?

我的一些已填充的源代码也显示了50个时钟,所以.我不知道在这里可以推断出什么,我写的一些东西真的需要0毫秒才能解决吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-17 21:46:47

好吧,我自己解决了问题。最近,我转而使用崇高文本编写源代码C,并编写了一个批处理文件,该文件使用Visual 2012的.exe工具从.c文件编译一个cl.exe

这导致我在Visual 2012上使用了实际的..exe,而不是本地Windows调试器。

这就是我意识到+50时钟只发生在本地Windows调试器上。我刚刚编写的代码显示;-0~1个时钟,当我启动.exe时,我通过崇高文本+ batchCompiler生成-0~1个时钟当我启动Visual 2012每次使用本地Windows在%ProjectDirectory%\Debug\下生成自己的.exe时,当我只是查看Visual 2012的本地Windows时,会显示50~51个时钟。

所以..。是的,它只是关于Visual 2012辅助执行

票数 0
EN

Stack Overflow用户

发布于 2013-08-31 21:44:41

您的系统时钟“滴答”频繁(可能每50毫秒一次?)而不是不停地跑。因此,clock()函数度量进程自启动以来消耗的这些“滴答”数。这种方法并不真正适用于测量短于一个滴答的时间。

如果您想要更高的精度,您将不得不使用高分辨率计时器。

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

https://stackoverflow.com/questions/18553080

复制
相关文章

相似问题

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