gettickcount linuxへの移植


gettickcountは、システム起動から呼び出しまでの時間を取得するため、linuxでclock_を使用できます.gettime関数の代わりに
int clock_gettime(clockid_t clk_id, struct timespect *tp);

clk_idパラメータの説明:
CLOCK_REALTIME:システムのリアルタイム時間は、システムのリアルタイム時間の変化に伴って変化する.すなわち、UTC 1900-1 0:0から計時が開始される.
CLOCK_MONOTONIC:システム起動の時点から計時を開始し、システム時間がユーザーによって変更される影響を受けない
CLOCK_PROCESS_CPUTIME_ID:本プロセスから現在のコードシステムCPUまでの時間
CLOCK_THREAD_CPUTIME_ID:本スレッドから現在のコードシステムCPUまでの時間
次はコードで、手元に環境がなければテストできませんが、大体そうです.
 
struct timespect*tpは現在の時間を格納するために使用され、その構造は以下の通りである.
struct timespec {    
       time_t tv_sec; /* seconds */    
       long tv_nsec; /* nanoseconds */
}; 

unsigned long GettickCount()
{
         struct timespec ts;
         clock_gettime(CLOCK_MONOTONIC,&ts);//ここでは戻り値を判断できます
         retun (ts.tv_sec*1000 + ts.tv_nsec/(1000*1000))
}