clock_gettime取得時間

769 ワード

linux下clock_gettingは時間を取得し、ナノ秒まで精度を得るために使用することができ、struct timespec構造体が必要であり、struct timespec構造体は以下の通りである.
struct timespec
{
      time_t tv_sec;
      long tv_nsec;
}

小さなプログラムを書いてテストします.
#include
#include
#include

void test_time()
{
     struct timespec time;
     clock_gettime(CLOCK_REALTIME,&time);
     printf("tv_sec=%ld,tv_nsec=%ld
",time.tv_sec,time.tv_nsec); } int main() { test_time(); return 0; }

コンパイル実行:
[mapan@localhost thread]$ gcc -lrt time1.c 
[mapan@localhost thread]$ ./a.out 
tv_sec=1509774203,tv_nsec=413767266
[mapan@localhost thread]$ 

linuxの下には他の時間構造体があるがstruct timespecはナノ秒まで正確である.