UNP源碼地址:http://www.unpbook.com/src.html
Linux環(huán)境搭建
下載UNP源碼
參照README進(jìn)行編譯
$ ./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需要你的系統(tǒng)支持4.4BSD和XTI钻趋,Linux系統(tǒng)直接跳過
- 拷貝第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
為了防止文件名發(fā)生沖突,可以將config.h更名為unp_config.h后再進(jìn)行拷貝蛇损,對應(yīng)修改unp.h
- 測試用例
$ cd intro
$ make daytimetcpcli
$ ./daytimecpcli 127.0.0.1
如果出現(xiàn)了connected refused錯誤,說明系統(tǒng)當(dāng)前沒有開啟daytime服務(wù)
- 小結(jié)
以后在代碼中添加#include "unp.h"坛怪,就可以調(diào)用unp.h
另外編譯時淤齐,需要添加-lunp編譯選項