繁体   English   中英

clock()函数在内部如何工作?

[英]How does the clock() function works internally?

c标准库中的clock()函数和其他相关计时函数内部使用的机制是什么? 有人可以用C编写类似的函数吗? 还是组装?

手动编写此类功能需要什么知识? 是否有必要了解有关处理器结构的详细信息?

clock()的实际实现取决于正在运行的内核。 请注意,在成熟的操作系统中,您被限制直接访问硬件,而必须使用内核机制(例如syscalls)。

例如,通过在glibc中查看clock()的Linux版本,您可以看到它使用了在times.c中定义的__times()函数,而该函数又使用Linux syscall。

将其与明显不同且依赖于__getrusage()的BSD版本进行比较。

为了自己编写这样的函数,您必须了解内核,而这通常需要您了解运行它的硬件的详细信息。

暂无
暂无

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

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