linux中“times”系统调用的返回值是多少?

时间:2012-08-24 14:26:31

标签: c api gcc time clock

我有一个遗留函数(下面给出)来查找滴答计数,这意味着系统启动了多长时间。

    long findtick()
    {
        struct tms buf;
        clock_t tickcount = 0;
        tickcount = times(&buf);
        return (long)tickcount; 
    }

我无法找到times系统调用和clock_t结构类型的行为。

我怀疑是

  1. linux中times系统调用的行为和返回值是什么。
  2. clock_t
  3. 的结构定义是什么
  4. 这个函数会在几秒钟后返回tickcount吗?
  5. 这个函数有可能返回-1,因为它的返回类型是signed long
  6. 我在suse 10中使用gcc编译器。

1 个答案:

答案 0 :(得分:1)

  1. linux中系统调用的行为和返回值是什么?

    答案:times

  2. clock_t

    的结构定义是什么

    Ans:typedef clock_t long,在ctime.h中定义

  3. 此函数会在几秒内返回tickcount吗?

    答案:是的

  4. 这个函数有可能返回-1,因为它的返回类型是长签名的

    答:如果失败,times将返回-1

  5. 谢谢@cnicutar