1
0

clock.c 344 B

123456789101112131415161718
  1. #include <time.h>
  2. #include <limits.h>
  3. int __clock_gettime(clockid_t, struct timespec *);
  4. clock_t clock()
  5. {
  6. struct timespec ts;
  7. if (__clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts))
  8. return -1;
  9. if (ts.tv_sec > LONG_MAX/1000000
  10. || ts.tv_nsec/1000 > LONG_MAX-1000000*ts.tv_sec)
  11. return -1;
  12. return ts.tv_sec*1000000 + ts.tv_nsec/1000;
  13. }