unix网络编程卷2,书的代码的运行环境安装

步骤

一、代码下载:https://pan.baidu.com/s/1mpr9GmagK0B_cfe2vHA2RQ

提取码:hifh

二、把代码解压并复制到/usr/bin目录下(一定要把代码放到该目录下)

cp -R /你解压的代码的目录/unpv22e /root/bin

三、编译unpv22e/lib目录下的文件步骤如下:

1.切换到

cd /root/bin/unpv22e

2.输入以下命令并敲 回车键

./configure 

操作结果如下图
在这里插入图片描述

3.修改第2步自动生成的config.h文件

 vi config.h  
    //注释掉56 57 58 行代码
    56 // #define uint8_t unsigned char  
    57 // #define uint16_t unsigned short  

    58 // #define uint32_t unsigned int  


    //在文件末尾添加MSG_R和MSG_W和_GNU_SOURCE定义

    65 typedef unsigned long ulong_t;   //备注:此处,有的在前面加了#define ,但我没有加
    66 #define MSG_R 0400  
    67 #define MSG_W 0200
    68  #define _GNU_SOURCE 
  

操作结果如下图
在这里插入图片描述

4.修改unpv22e/lib目录下的wrapunix.c文件

cd lib
vi wrapunix.c
//然后将该文件的第184行的mktemp函数替换为mkstemp函数

wrapunix.c文件的修改如下图
在这里插入图片描述

5.输入以下命令以便编译lib

make

make成功后在 /root/bin/unpv22e会有一个libunpipc.a文件,如下图所示
在这里插入图片描述

6.将生成的libunpipc.a复制到/usr/lib中。

cd ..
cp /root/bin/unpv22e/libunpipc.a /usr/lib/

四、编译书中的第一个例子(即第3章的第一个例子,Unix网络编程卷2的第二版中的第21页的图3-2的代码)

cd svipc/
gcc ftok.c -lunpipc -lrt -lpthread
//运行 ./a.out  文件

结果如图
在这里插入图片描述

注意:下载的代码中的书中的有些章节的代码里面的unpipc.h文件是空的(没有内容,即文件大小为0),此时如果gcc这些代码文件会报pid_t未定义之类的错误,解决方法是把你下载并解压的如下图中的文件夹中的unpipc.h文件替换掉那些空的unpipc.h文件!!!

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值