libuv在Windows下环境搭建和演示 - 定时器

目录

  • 简述
  • 新建项目
  • 代码编写
  • 编译运行

简述

之前介绍了libuv库在Windows环境下的编译https://blog.csdn.net/hubei_dxx/article/details/117768529
现在我们把编译的库用起来,使用工具VS2010

新建项目

在解决方案新建项目,选择win32控制台应用程序,名称这里用uv_timer,然后点击确定。把该项目右键设置为启动项。
libuv在Windows下环境搭建和演示 - 定时器_第1张图片

代码编写

设置一个定时器,3秒后启动,之后每秒执行,执行5次后停止

#include "uv.h"

unsigned int g_tick;
unsigned int g_count = 5;

void time_cb(uv_timer_t* handle)
{
    unsigned int now = GetTickCount();
    printf("last:%lu, now:%lu, time:%lu\n", g_tick, now, now - g_tick);
    g_tick = now;

    if (--g_count <= 0)
    {
        uv_timer_stop(handle);
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    /*使用默认loop*/
    uv_loop_t *loop = uv_default_loop();
    /*创建一个uv_timer_t对象timer*/
    uv_timer_t *timer = new uv_timer_t;
    if (loop == NULL || timer == NULL)
    {
        printf("init fail, loop:%p, timer:%p\n", loop, timer);
        return -1;
    }
    /*初始化全局变量*/
    g_tick = GetTickCount();
    /*输出libuv版本*/
    printf("uv version:%s\n", uv_version_string());
    /*关联timer到loop*/
    uv_timer_init(loop, timer);
    /*设置定时器参数,包括回调函数,超时时间和重复时间,单位是毫秒*/    
    uv_timer_start(timer, time_cb, 3000, 1000);
    /*loop跑起来*/
    uv_run(loop, UV_RUN_DEFAULT);
    /*loop跑完了退出清理*/
    if (timer != NULL)
    {
        delete timer;
    }
    getchar();
	return 0;
}

编译运行

  1. 添加头文件包含路径,右键项目打开属性设置窗口,选择VC++目录包含目录,设置成源码目录下的include目录(即uv.h所在目录)
    libuv在Windows下环境搭建和演示 - 定时器_第2张图片

  2. 设置lib目录和lib
    libuv在Windows下环境搭建和演示 - 定时器_第3张图片
    libuv在Windows下环境搭建和演示 - 定时器_第4张图片

  3. 编译和运行,如果报错找不到uv.dll可以把dll拷贝到编译生成的exe目录或者设置右键属性->调试->环境设置dll目录,格式为

PATH=F:\code\wintest\libuv.git\libuv-1.x\build\Release;

运行结果如下截图:
libuv在Windows下环境搭建和演示 - 定时器_第5张图片

你可能感兴趣的:(c++,libuv,环境搭建,c++,windows)