繁体   English   中英

time.h中的time()如何工作?

[英]How does time() in time.h work?

让我从代码中调用时间函数并保存值。 然后,我禁用了中断,并执行了一些代码,这些代码花费了不小的时间。 然后,我启用中断并从时间函数中获取值。

start = time ( NULL );
disable_interrupts();
...


...
enable_interrupts()
end = time ( NULL );

我获得的开始和结束值完全相同吗? 禁用中断如何导致这种奇怪的行为?

根据您的平台/操作系统(感觉像是嵌入式类型),一些时间实现使用计时器中断,甚至计数vblank / hblank中断。 关闭中断并获得此结果似乎可以证实这一点。 顺便说一句,我同意其他人的观点,即在任何不平凡的时间内关闭中断都会带来很多麻烦。 除非您确切地知道发生了什么,而且我的意思是确切地讲,否则您很容易在脚上开枪射击自己,甚至几个月后才知道。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM