问题标签 [timeval]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 在 timeval 和 clock() 之间选择以计算 C 中的经过时间
我正在使用 timeval 和 clock() 函数来查看我的 c 程序中两个操作之间的时间差。不知何故 timeval 似乎给了我正确的以毫秒为单位的经过时间,而 clock() 给出的价值非常少。
一段时间后
通常的输出是:
延迟1:1577.603027 延迟:0.800000
delay1 以毫秒为单位,延迟以秒为单位。
我正在使用 archlinux 64 位。我不明白为什么会这样。
c++ - linux中的timeval变量声明
我正在使用 timeval 结构来获取当前系统时间。通常,如果我这样声明:
这是工作。但是我看到了一些人们将其声明为的代码:
这两者有什么区别吗?
c - 如何编写一个获取函数运行时的宏?
假设我们想知道函数 A 运行了多长时间,我们可以这样写代码
但是我怎样才能将它封装成一个宏,比如 Runtime(A),也许,Runtime(A, B, ...),有时几个函数一起运行。
c# - 将 timeval 结构转换为 c#
我知道这个问题可能很简单,我有以下代码,应该将其转换为 C#,但主要问题是我无法理解下面的代码到底在做什么!!!!...我已经搜索过,但是我没有找到任何东西..我认为可能是timeval structure
并且select function
可以删除而不会产生任何后果!我对吗??如果没有,那么我该如何将其转换为 C#???究竟是什么责任select function
??提前致谢。
我认为问题开始和问题结束之间的代码根本不需要!真的??
c++ - select() 不使用为 timeval 设置的内容
我在下面有一个片段 - 我已经以多种方式调整了我的方法,但无论设置什么tv_usec
,我都会一直坐在一个循环中几乎正好 10 秒。 select()
tv_usec
c - 警告:格式“%06d”需要类型“int”,但参数 5 的类型为“__suseconds_t”
我正在使用这段代码:
从这个答案:
https://stackoverflow.com/a/2409054/997112
将 struct timeval 打印为可读格式。但是,我收到此编译器警告:
有人可以帮忙吗?
c - snprintf 没有使用 strftime 打印出转换后的时间值?
我从 SO 那里得到了这个答案:
https://stackoverflow.com/a/2409054/997112
这样我就可以以友好的格式打印 timeval 结构。我不得不改变"%s.%06d"
因为"%s.%06ld"
我收到编译器警告:
但是,当我通过有效时间时,什么都不会打印。
我在调用我的函数之前检查了传入的 timeval 中的秒数,它返回 1404120855,所以我确信我的 timeval 是正确的,问题出在函数上?
c - localtime() 显示自 1970 年以来的 0 微秒为一小时
我有一个 0 秒和 0 微秒的时间。因此,我期待零小时:
但是,h
一直输出值 1,我认为这是因为localtime()
为夏令时增加了一个额外的小时。
我怎样才能防止这个额外的小时被添加?
更新
输出为零
c - getrusage 的工作原理以及 rusage 结构中的真正内容是什么?
我试图了解如何
工作以计算我的一个程序的运行时间。
我红了手册页,可能 10 次,但仍然无法得到它。试图在网上找到一些东西,但只找到有关此功能的手册页。
我不清楚的是存储在 rusage 结构中的内容 - 手册页不是很清楚 - 所以我尝试使用调试器运行它并直接查看里面的内容,但仍然不明白,尤其是这两个结构- timeval ru_utime 和 timeval ru_stime - 工作。
它们内部的内容假设不同的值,有时为 0,有时为 2000 等。
我运行了一个带有 for 循环的简单程序,该循环不断地分配和释放内存。我用秒表实际查看需要多少时间,花了 5.23 秒。但我在这些结构中看到的似乎完全不相关:
循环前:
ru_utime = { tv_sec = 0, tv_usec = 1000}, ru_stime = { tv_sec = 0, tv_usec = 1000}
循环后:
ru_utime = { tv_sec = 4, tv_usec = 677000}, ru_stime = { tv_sec = 0, tv_usec = 2000}
所以,谁能给我解释一下或者给出一些很好的链接来解释这个?
我将不胜感激。
c - 如果用户输入某些内容,则在语句之间切换:无限且超时
为了更清楚地解释我想要做什么,我希望我的代码每隔 2.5 秒(比如说)检查用户是否输入了一些东西(或者如果另一个文件描述符不是 0 有数据要读取),直到程序停止。
如果用户输入了一些东西,一个简单的printf()
会通知他,然后程序将在接下来的 2.5 秒内再次检查用户是否输入了一些东西。
否则,它应该简单地打印时间用完,然后在接下来的 2.5 秒内再次检查用户输入。
这是我从Beej's Guide to Network Programming 中窃取并修改为(尝试)满足我的要求的代码片段:
只要我不按任何键,它就可以正常工作并打印“超时”。每 2.5 秒。但是如果我输入一些东西,它似乎会忽略用户输入并继续打印“超时。”。
另一方面,如果我在无限循环中声明andfd_set
,一旦我输入某些内容,就会无限打印出一个键被按下,就好像它忽略了超时一样。struct timeval
我不知道为什么这么简单的代码不起作用。我想我错过了一些我不知道的文件描述符。