UNP源码地址:http://www.unpbook.com/src.html
Linux环境搭建
下载UNP源码
参照README进行编译
$ ./configure
$ cd lib
$ make
$ cd ../libfree
$ make
如果第2次make出错,则需要修改libfree下的inet_ntop.c文件
如图所示,将inet_ntop.c文件第60行的size_t size;改成socklen_t size;
README后面两步make需要你的系统支持4.4BSD和XTI,Linux系统直接跳过
- 拷贝第2步生成的libunp.a
$ cd ..
$ sudo cp libunp.a /usr/lib
$ sudo cp libunp.a /usr/lib64
- 修改unp.h文件,并拷贝unp.h和config.h文件
$ cd lib
如图所示,将unp.h中的#include "../config.h"改成#include "config.h"
拷贝unp.h和config.h到/usr/include
$ sudo cp unp.h /usr/include
$ cd ..
$ sudo cp config.h /usr/include
为了防止文件名发生冲突,可以将config.h更名为unp_config.h后再进行拷贝,对应修改unp.h
- 测试用例
$ cd intro
$ make daytimetcpcli
$ ./daytimecpcli 127.0.0.1
如果出现了connected refused错误,说明系统当前没有开启daytime服务
- 小结
以后在代码中添加#include "unp.h",就可以调用unp.h
另外编译时,需要添加-lunp编译选项