linux的定时器(timer_create),linux下的定时器有关问题 timer_create timer_delete timer_settimer...

linux下的定时器问题 timer_create timer_delete timer_settimer

#include 

#include 

#include 

#include 

#include 

#include 

#define CLOCKID CLOCK_REALTIME

void timer_thread(union sigval v)

{

printf("timer_thread function! %d\n", v.sival_int);

}

int main()

{

// XXX int timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid);

// clockid--值:CLOCK_REALTIME,CLOCK_MONOTONIC,CLOCK_PROCESS_CPUTIME_ID,CLOCK_THREAD_CPUTIME_ID

// evp--存放环境值的地址,结构成员说明了定时器到期的通知方式和处理方式等

// timerid--定时器标识符

timer_t timerid;

struct sigevent evp;

memset(&evp, 0, sizeof(struct sigevent));//清零初始化

evp.sigev_value.sival_int = 111;//也是标识定时器的,这和timerid有什么区别?回调函数可以获得

evp.sigev_notify = SIGEV_THREAD;//线程通知的方式,派驻新线程

evp.sigev_notify_function = timer_thread;//线程函数地址

if (timer_create(CLOCKID, &evp, &timerid) == -1)

{

perror("fail to timer_create");

exit(-1);

}

// XXX int timer_settime(timer_t timerid, int flags, const struct itimerspec *new_value,struct itimerspec *old_value);

// timerid--定时器标识

// flags--0表示相对时间,1表示绝对时间

// new_value--定时器的新初始值和间隔,如下面的it

// old_value--取值通常为0,即第四个参数常为NULL,若不为NULL,则返回定时器的前一个值

//第一次间隔it.it_value这么长,以后每次都是it.it_interval这么长,就是说it.it_value变0的时候会装载it.it_interval的值

struct itimerspec it;

it.it_interval.tv_sec = 1;

it.it_interval.tv_nsec = 0;

it.it_value.tv_sec = 1;

it.it_value.tv_nsec = 0;

if (timer_settime(timerid, 0, &it, NULL) == -1)

{

perror("fail to timer_settime");

exit(-1);

}

pause();

return 0;

}

/*

* int timer_gettime(timer_t timerid, struct itimerspec *curr_value);

* 获取timerid指定的定时器的值,填入curr_value

*

*/

这段代码是摘自http://blog.csdn.net/leo9150285/article/details/8271910

我编译后为什么是提示undefined reference timer_create  undefined  reference timer_settimer?

我知道是这个提示是库里找不到相关函数定义,但是现在我要怎么才能去找到他呢

Linux

线程

IT

分享到:

------解决方案--------------------

加 链接选项 -lrt

------解决方案--------------------

是 timer_settime

------解决方案--------------------

TIMER_SETTIME(2)           Linux Programmer's Manual          TIMER_SETTIME(2)

NAME

timer_settime, timer_gettime - arm/disarm and&n

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值