C++ 为什么std::difftime的结果在Linux和Windows上不一致?
我希望以毫秒为单位获得计时结果,所以我选择了std::difftime,因为我认为它相对简单,但是在不同的平台上运行之后,我得到了不同的结果。我查看了参考资料,没有看到任何相关解释C++ 为什么std::difftime的结果在Linux和Windows上不一致?,c++,linux,windows,C++,Linux,Windows,我希望以毫秒为单位获得计时结果,所以我选择了std::difftime,因为我认为它相对简单,但是在不同的平台上运行之后,我得到了不同的结果。我查看了参考资料,没有看到任何相关解释 #包括 #包括 #包括 int main(int argc,字符**argv) { 整数计数=10; 对于(int i=0;我不太确定您所指问题的原因,但是std::clock()根本不应该使用,因为它的一些实现是非常不可靠的。使用std::chrono::stable\u clock或std::chrono::sy
#包括
#包括
#包括
int main(int argc,字符**argv)
{
整数计数=10;
对于(int i=0;我不太确定您所指问题的原因,但是std::clock()
根本不应该使用,因为它的一些实现是非常不可靠的。使用std::chrono::stable\u clock
或std::chrono::system\u clock
std::difftime
比较time\u t
s。clock
不会返回time\t
s。在windows上@user4581301,它看起来像是工作乐趣。你期望什么从std::clock
?我需要知道才能理解您不理解的内容。啊哈,最后,我放弃了difftime
,转而使用std::chrono::system\u clock
sleep time is: 89
sleep time is: 36
sleep time is: 29
sleep time is: 27
sleep time is: 27
sleep time is: 30
sleep time is: 29
sleep time is: 31
sleep time is: 28
sleep time is: 26
sleep time is: 1004
sleep time is: 1011
sleep time is: 1014
sleep time is: 1001
sleep time is: 1009
sleep time is: 1011
sleep time is: 1011
sleep time is: 1006
sleep time is: 1003
sleep time is: 1010