先声明一下我的工作主目录为:/data/workspace/nodejs/learn_nodejs/node_modules/libuv, 在后面我会简称为$PATH。
第一步,编写代码
在$PATH下新建test.cc,内容如下
/*
* test.cc
* empty msg loop
* 这个例子新建了一个消息队列,但队列里没有任何消息,程序直接退出
* Created on: 2015年2月2日
*/
#include <stdlib.h>
#include <stdio.h>
#include <node/uv.h>
int main()
{
uv_loop_t *loop = uv_loop_new(); //可以理解为新建一个消息队列
uv_run(loop, UV_RUN_DEFAULT); //启动消息队列的消费,UV_RUN_DEFAULT模式下,当消息数为0时,就会退出消息循环
printf("hello world!\n");
return 0;
}
第二步,编译及链接
在$PATH下,命令行执行(我其实是写有makefile的,这儿就步增加复杂度了,如果当前文件夹下没有build目录,就先创建一个build目录)
g++ -c test.cc -o build/test.o
g++ -lpthread -o test build/test.o /usr/lib64/libuv.a
第三步,执行程序
如果前两步,正确执行完,那么你会在$PATH下,得到test可执行程序,在命令行下./test就可以执行。
程序输出如下:
hello world!
hello world还是很简单的吧。