libevent

osx下安装

brew install libevent
brew install –HEAD libuv

xcode配置
Header Search Path
/usr/local/include

Other Link Flag
-l”uv”
-l”event”

exam


#include <stdio.h>
#include <stdlib.h>

#include <sys/time.h>
#include <event.h>

#include <uv.h>

int64_t counter = 0;
// 定时事件回调函数
void onTime(int sock, short event, void *arg)
{
    printf("Hello,World!\n");

    struct timeval tv;
    tv.tv_sec = 1;
    tv.tv_usec = 0;
    // 重新添加定时事件(定时事件触发后默认自动删除)
    event_add((struct event*)arg, &tv);
}

void wait_for_a_while(uv_idle_t* handle, int status) {
    counter++;

    if (counter >= 10e6)
        uv_idle_stop(handle);
}

int eventest(){
    // 初始化
    event_init();

    struct event ev_time;
    // 设置定时事件
    evtimer_set(&ev_time, onTime, &ev_time);

    struct timeval tv;
    tv.tv_sec = 1;
    tv.tv_usec = 0;
    // 添加定时事件
    event_add(&ev_time, &tv);

    // 事件循环
    event_dispatch();

    return 0;
}

int main(int argc, const char * argv[]) {
    uv_idle_t idler;
    uv_idle_init(uv_default_loop(), &idler);
    uv_idle_start(&idler, wait_for_a_while);

    printf("Idling...\n");
    uv_run(uv_default_loop(), UV_RUN_DEFAULT);
    printf("exit...\n");

    eventest();
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值