引言 - 一时心起, libuv linux 搭建
有一天突然想起来想写个动画. 找了一下 ui 库太大. 后面想起以前弄过的 libuv. 但发现 libuv 相关资料也很少.
所以就有了这些内容.
libuv - https://github.com/libuv/libuv
libuv 在 linux 上面使用比较简单, 一开始 从 linux hello 跑起来
libuv linux 安装
首先假定你和我一样用的是Ubuntu去做开发. 在云平台上面测试过, Ubuntu Server 版本比 CentOS 版本少个十几兆.
有兴趣朋友可以详细比较数据, 也可以尝试跑跑 Ubuntu Server .
# libuv 安装 cd wget https://github.com/libuv/libuv/archive/v1.18.0.tar.gz tar -zxvf v1.18.0.tar.gz cd libuv-1.18.0 sh autogen.sh ./configure make -j4 sudo make install sudo ldconfig cd ../ rm -rf libuv-1.18.0 v1.18.0.tar.gz ```
执行上面命令操作, 我们的系统中就已经有了 libuv 开发环境.
有一点需要注意的是当我们要使用 libuv时候推荐用静态库.
gcc -l:libuv.a
到这里 linux 安装 libuv 已经完工了.
不妨写个 hello world demo
#include <uv.h> #include <assext.h> // // 测试 libuv tty 操作控制台 // 输出一段有颜色的文字 // void uv_tty_test(void) { uv_tty_t tty; uv_buf_t buf[3]; unsigned i, len = sizeof buf / sizeof *buf; uv_loop_t * loop = uv_default_loop(); // 目前只对 tty 控制台处理 if (uv_guess_handle(1) != UV_TTY) { fprintf(stderr, "uv_guess_handle(1) != UV_TTY! "); exit(EXIT_FAILURE); } uv_tty_init(loop, &tty, 1, 0); uv_tty_set_mode(&tty, UV_TTY_MODE_NORMAL); // 开始发送消息 buf[0].base = "