C言語 - VC++ - GetTickCount
- 1. 概要
- 2. 起動からの時間
1. 概要
「GetTickCount」は、厳密にいえば、「VC++」というよりは、「Win32API」なのですが、わたしは、「VC++」の時に使用していましたのでね。
本ページは、下記のサイトを参考にさせていただきました。
「C言語/C++ 処理時間計測 入門」
「24.9日 ‐ 通信用語の基礎知識」
2. 起動からの時間
参考サイトにあるように、これは、システムの起動開始からの時間を、ミリ秒単位で取得するものです。
単位は、ミリ秒ですが、精度はせいぜい 10 msec くらいのものではあります。
絶対時刻ではなく、相対時間なので、ある地点からある地点までの処理時間を調べるのに便利です。
わたしは、下記のような形式で使用しています。
int tick = GetTickCount(); //// 時間計測用 tick カウント
・・・なんかしら処理を書きます。
int all = GetTickCount() - tick;
CString str;
str.Format("処理時間[%02d:%02d:%02d.%03d]", all/(60*60*1000), (all%(60*60*1000))/(60*1000), (all%(60*1000))/1000, all % 1000);
str をログなり、コンソールなりに出力します。
注意すべきなのは、32 ビット値である場合、「0x7FFFFFFF」でオーバフローしてしまいます。
ミリ秒単位なので、参考サイトによれば、24.9日以上になると、オーバフローしてしまいますので、システム起動後から、その時間が経過するとリセットしないと誤ってしまいます。
|
|