8. 時間を取得する。


時間を取得する関数はGetNowCount();関数を使います。この関数に引数は無く、返り値に、
パソコンが起動してからの秒数が単位ミリで返ってきます。
1秒=1000ミリ秒です。ですから
処理をする前にこの関数で時間を計っておき、
処理が終わってからこの関数で時間を計り、後者から前者を引けば、処理にかかった時間が測定できます。
今回はa++;という処理を10万回行った時の処理時間を表示させて見ましょう。

↓コピー&コンパイル用サンプルプログラム↓


#include "DxLib.h"
 
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
        ChangeWindowMode( TRUE ) ;              //ウィンドウモードにする。
        if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了 
 
 
        int i,a=0,time,White;
        White   = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得
 
        time = GetNowCount() ;                  // 現在経過時間を得る
        DrawFormatString(0,  0, White , "立ち上がってから%dミリ秒", time);//文字列表示
 
        for(i=0;i<100000;i++)                   //10万回a++;を実行
            a++;
 
        time = GetNowCount() - time;            //現在の経過時間から先ほどの経過時間を引く
        DrawFormatString(0,100, White , "計算時間%dミリ秒"        , time);//文字列表示
 
 
        WaitKey() ;                     // キーの入力待ち(『WaitKey』を使用)
        DxLib_End() ;                   // DXライブラリ使用の終了処理
        return 0 ;                      // ソフトの終了
}

実行結果


実行結果は個人によってそれぞれ違う値になります。
この280782250ミリ秒という事はこれは約280782秒であり、4679分であり、77時間です。
つまりこれはパソコンをつけてから77時間が経過している事になります。
この結果から「つけすぎだろオイ」という事がわかるわけです。
計算時間は私のパソコンでは3ミリ秒、つまり0.003秒で10万回の計算を終えた事がわかります。

→掲示板で質問する



- Remical Soft -