std :: this_thread :: sleep_for 32位time_t上的MS实现

时间:2014-01-07 07:53:44

标签: c++ c++11 std

我们使用的是32位time_t类型和std线程。我正在尝试使用此代码睡眠线程:

std::this_thread::sleep_for(std::chrono::seconds(2));

我收到警告,我正在尝试convert __64bit到time_t(这是32),精度下降。当进一步查看时,错误是由Microsoft的“chrono”文件中的这一行引起的:

(750) _Xt.sec = chrono::duration_cast<chrono::seconds>(_T0).count();

_Xt.sec is of type time_t, chrono::duration_cast<chrono::seconds>(_T0).count() is of type __64 bit。好像Ms std::chrono的Ms实现无法处理32位time_t?

您可以在此处找到问题的示例项目: http://jimber.org/stdthread32bittimet.zip

0 个答案:

没有答案