C標準ライブラリtime.hはその名とおり、時間を扱う関数です。
これのclock_gettime関数は内部時刻を呼び出す機能を持ちます。
類似した関数にgettimeofday関数がありますが、これは2008年段階から将来廃止予定に指定されています。
実際のところ
clock_gettime
引数はclockid_t型、timespec構造体の順番。
clockid_t型はクロックの識別子
struct timespec tp;
result = clock_gettime(CLOCK_REALTIME, &tp);
timespec構造体の定義は以下の通り。
ナノ秒までサポートしております。
struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ };
gettimeofday
getimeofdayは引数に時間を扱うtimeval構造体とタイムスタンプ指定をもちます。
廃止予定のgettimeofday関数で呼び出させる時間用構造体timevalは
秒以下をsuseconds_tで取り扱っており、long型で扱っているtimespecとはちょっと構造が違います。
struct timeval { time_t tv_sec; /* 秒 */ suseconds_t tv_usec; /* マイクロ秒 */ };