sysconf(_SC_CLK_TCK) 与 CLOCKS_PER_SEC

the*_*guy 5 c linux time process clock

我想知道上述常量的返回值之间有什么区别。

sysconf(_SC_CLK_TCK) 返回 100
CLOCKS_PER_SEC 返回 1,000,000

所以,假设我有这个:

...
start = clock();
// Process starts here 
/* does something */
// Process ends here
end = clock();
double time = ((double) end-start)/CLOCK_PER_SEC; // this would return in seconds
...
Run Code Online (Sandbox Code Playgroud)

如何计算进程使用的滴答数,而不是时间?我是否使用针对 sysconf(_SC_CLK_TCK) 或 CLOCK_PER_SEC 使用的时间?

我试图了解这些的用法。

jxh*_*jxh 2

根据文档,clock()返回分辨率为 的时间CLOCKS_PER_SEC

其他时间函数返回分辨率以刻度为单位的值。sysconf(_SC_CLK_TCK)提供每秒的滴答数。一种这样的时间函数是times()