gpt4 book ai didi

c - clock_getres 的使用 - 新手 Linux C

转载 作者:IT王子 更新时间:2023-10-29 00:17:11 26 4
gpt4 key购买 nike

我正在尝试确定我的 Linux 机器上计时器的粒度。根据 clock_getres 的手册页,我应该可以使用这个片段:

#include <time.h>
#include <stdio.h>

int main( int argc, char** argv )
{
clockid_t types[] = { CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID, (clockid_t) - 1 };

struct timespec spec;
int i = 0;
for ( i; types[i] != (clockid_t) - 1; i++ )
{
if ( clock_getres( types[i], &spec ) != 0 )
{
printf( "Timer %d not supported.\n", types[i] );
}
else
{
printf( "Timer: %d, Seconds: %ld Nanos: %ld\n", i, spec.tv_sec, spec.tv_nsec );
}
}
}

我正在尝试这样构建: gcc -o timertest timertest.c

这在 Solaris 上运行良好,但在 Linux 上我收到错误:

/tmp/ccuqfrCK.o: In function `main':timertest.c:(.text+0x49): undefined reference to `clock_getres'collect2: ld returned 1 exit status

我已经尝试将 -lc 传递给 gcc,显然 clock_getres 是在 libc 中定义的,但它没有任何区别。我一定在这里遗漏了一些简单的东西 - 有什么想法吗?

谢谢,

俄罗斯人

最佳答案

你需要链接RT库(-lrt)

关于c - clock_getres 的使用 - 新手 Linux C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com