c标准库中的函数clock()和其他相关的定时函数在内部使用的机制是什么?有人可以在C中写一个类似的功能吗?还是在组装?
手动编写此类函数需要哪些知识?是否有必要了解有关处理器结构的详细信息?
答案 0 :(得分:1)
clock()的实际实现取决于正在运行的内核。请注意,在完整的操作系统中,您被限制直接访问硬件,并且必须使用内核机制,例如系统调用。
例如,通过查看linux version of clock() in glibc,您可以看到它使用times.c中定义的函数__times(),后者又使用Linux系统调用。
将其与BSD version进行比较,这显然是不同的,并依赖于__getrusage()。
为了自己编写这些函数,你必须知道内核,这通常需要你知道它运行的硬件的细节。