我想要的只是以毫秒为单位获取纪元以来的时间并将其存储在无符号长整数中.
我发现了这个相关的问题.但老实说,这不是执行这么简单任务的最简单方法,是吗?我希望更简单的东西,但在std :: chrono引用中找不到任何东西.任何建议都是最受欢迎的.我不一定要使用std::chrono,但我希望它与平台无关.
考虑以下代码
#include <chrono>
#include <iostream>
#include <thread>
int main()
{
using std::chrono::system_clock;
using std::chrono::milliseconds;
using std::chrono::nanoseconds;
using std::chrono::duration_cast;
const auto duration = milliseconds(100);
const auto start = system_clock::now();
std::this_thread::sleep_for(duration);
const auto stop = system_clock::now();
const auto d_correct = duration_cast<nanoseconds>(duration).count();
const auto d_actual = duration_cast<nanoseconds>(stop - start).count();
std::cout << "Difference is " << d_actual << ", and it should be roughly " << d_correct << "\n";
}
Run Code Online (Sandbox Code Playgroud)
我们所期待的是一些东西
差异是100039989,它应该大约是100000000
看到这个演示,它的工作非常好.
但是,在我的机器上,根据Stack Overflow上的这个答案,安装了几个编译器似乎导致配置错误.
因此我尝试了建议的修复:设置正确LD_LIBRARY_PATH.这些是我试过的输出组合(其中包括4.4和4.6 ...)
g++-4.7 …Run Code Online (Sandbox Code Playgroud)