、差はブースト:: steady_clockとstd :: steady_clockの間にあるかわからないですLinuxでマイクロ秒の解像度に、しかしsysinfoは、第2の解像度で取得するためのシンプルなメカニズムを提供しています:
#include <sys/sysinfo.h>
struct sysinfo info;
if(sysinfo(&info) != 0)
{
// handle the failure
}
// uptime in seconds is available (as a long) in info.uptime
私はlong
からtime_point
からの変換を仮定しているが、RELではありません現時点では、しかし、時点は、基準点から経過した時間の長さではなく、特定の時点を表す。開始点から何時間単位に変換するには、開始点を減算して継続時間に変換し、duration_cast
を使用してキャストして、選択した単位に変換する必要があります。例えば:
using namespace std::chrono; // for brevity in the example code.
auto elapsed = duration_cast<milliseconds>(timepoint1 - reftimepoint).count()
boost::steady_clock
は、C++標準ライブラリのstd::steady_clock
の包含前から既存の実装です。古いコードベースを扱っているか、C++ 11のサポートなしでコンパイラやプラットフォームへの移植性が必要な場合を除いて、今はboost::steady_clock
を使う必要はあまりありません。