重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

C++,Win32APIでプログラムしています。
ウィンドウ上にランダムに点を生成し、矩形をランダムに生成し矩形内の点をすべて返す時間を計測したいのですが、時間の計測の仕方とその時間の表示方法がわかりません。
よろしくお願いします。

A 回答 (1件)

★アドバイス


・計測制度によりますが、GetTickCount()、timeGetTime() 関数を使います。
 次のリンクを一読してみて下さい。
 http://oshiete1.goo.ne.jp/qa2950057.html→『プログラムの実行時間』
 http://oshiete1.goo.ne.jp/qa2725354.html→『timeBeginPeriodとtimeEndPeriod関数について』
・下に簡単なサンプルを載せておきます。

サンプル1:
TCHAR szBuff[ 100 ];
DWORD dwStart;
DWORD dwStop;
DWORD dwTime;

dwStart = GetTickCount();
/*
処理ルーチン(測定したい処理)
*/
dwStop = GetTickCount();
dwTime = dwStop - dwStart;
wsprintf( szBuff, TEXT("計測時間は %d.%03d 秒でした。"), (dwTime / 1000), (dwTime % 1000) );
MessageBox( hWnd, szBuff, TEXT("計測結果"), MB_OK );

サンプル2:
TCHAR szBuff[ 100 ];
DWORD dwStart;
DWORD dwStop;
DWORD dwTime;

timeBeginPeriod( 1 );
dwStart = timeGetTime();
/*
処理ルーチン(測定したい処理)
*/
dwStop = timeGetTime();
dwTime = dwStop - dwStart;
wsprintf( szBuff, TEXT("計測時間は %d.%03d 秒でした。"), (dwTime / 1000), (dwTime % 1000) );
MessageBox( hWnd, szBuff, TEXT("計測結果"), MB_OK );
timeEndPeriod( 1 );

その他:
http://www14.big.or.jp/~ken1/tech/tech19.html→『処理時間の取得方法』
 ↑他にも QueryPerformanceCounter() 関数を使う方法もあります。
・以上。参考に!

参考URL:http://www.emit.jp/prog/prog_t1.html
    • good
    • 0
この回答へのお礼

お返事有難うございます。
とても参考になりました。

お礼日時:2007/05/27 13:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!