【学习总结】UNIX网络编程使用源码配置

时间:2023-02-10 22:12:41

卷1 套接字联网API

1、获取源码

官网好像没有第三版的代码。

我是从这里下载

2、解压

  $tar zxvf unpv13e.tar.gz

3、编译

 

$cd unpv13e

$./configure

$cd lib

$make

$cd ../libfree

$make

$cd ../libgai

$make

卷2 进程间通信

1、获取代码 

  由于没找到第三版的,所以只好用第二版

wget http://www.kohala.com/start/unpv22e/unpv22e.tar.gz

2. 解压:

$tar -zxvf unpv22e.tar.gz

3. 编译:

 $cd unpv22e

 $ ./configure

 $ cd lib

 $ make
 会出现几个错误,注释unpipc.h第115行、479行、480行。

 删除../Make.defines中的wrapsunrpc.o

 再次make。搞定

 

  为了方便单个文件编译,将unp.h或unpipc.h中的include "../config.h" 改成include "config.h"。再将config.h和unp.h或unpipc.h拷到/usr/include中。

  由于两个confg.h有些不一样,所以把两个config.h分别修改为unpconfig.h和unpipcconfig.h。同时unp.h和unpipc.h中包含的头文件也要修改。

  再将libunp.a和libunpipc.a拷到/usr/lib中。

  这样在练习的时候可以直接-lunp或-lunpipc来编译。

 

---恢复内容结束---

卷1 套接字联网API

1、获取源码

官网好像没有第三版的代码。

我是从这里下载

2、解压

  $tar zxvf unpv13e.tar.gz

3、编译

 

$cd unpv13e

$./configure

$cd lib

$make

$cd ../libfree

$make

$cd ../libgai

$make

卷2 进程间通信

1、获取代码 

  由于没找到第三版的,所以只好用第二版

wget http://www.kohala.com/start/unpv22e/unpv22e.tar.gz

2. 解压:

$tar -zxvf unpv22e.tar.gz

3. 编译:

 $cd unpv22e

 $ ./configure

 $ cd lib

 $ make
 会出现几个错误,注释unpipc.h第115行、479行、480行。

 删除../Make.defines中的wrapsunrpc.o

 再次make。搞定

 

  为了方便单个文件编译,将unp.h或unpipc.h中的include "../config.h" 改成include "config.h"。再将config.h和unp.h或unpipc.h拷到/usr/include中。

  由于两个confg.h有些不一样,所以把两个config.h分别修改为unpconfig.h和unpipcconfig.h。同时unp.h和unpipc.h中包含的头文件也要修改。

  再将libunp.a和libunpipc.a拷到/usr/lib中。

  这样在练习的时候可以直接-lunp或-lunpipc来编译。

Tips:libunpipc.a直接编译会链接错误,由于用到POSIX 消息队列的API需要链接librt库,所以在后面加上-lrt编译选项即可。