CLOCKS_PER_SEC在不同操作系统中的行为

Aka*_*uja 6 c++ linux windows-7 fedora16

我正在运行一个cpp代码,但有一件事我注意到在Windows 7上,C++代码中的CLOCKS_PER_SEC给出1000而在linux fedora 16上它给出了1000000.有人可以证明这种行为吗?

Jam*_*nze 4

拿什么来辩解呢? CLOCKS_PER_SEC是实现定义的,可以是任何东西。它全部表示函数返回的单位 clock()。它甚至没有表明 的分辨率clock():Posix 要求它是 1000000,无论实际分辨率如何。如果 Windows 返回 1000,那也可能不是实际的分辨率。(我发现我的 Linux 盒子的分辨率为 10ms,而我的 Windows 盒子的分辨率为 15ms。)