UNIX网络编程之旅-配置unp.h头文件环境

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#include “unp.h”  相当有个性并且也很便捷

于是我把第三版的源代码编译实现了这个过程,算是一种个性化的开发环境的搭建吧,顺便把过程记录下来,以便自己以后查阅。

 

首先去网上找到源代码包unpv.13e.tar.gz 一找一大堆

解压缩到你的某个目录,unpv13e里面大致有这些目录

├── aclocal.m4 
├── advio 
├── bcast 
├── config.guess 
├── config.h 
├── config.h.in 
├── config.log 
├── config.status 
├── config.sub 
├── configure 
├── configure.in 
├── debug 
├── DISCLAIMER 
├── icmpd 
├── inetd 
├── install-sh 
├── intro 
├── ioctl 
├── ipopts 
├── key 
├── lib 
├── libfree 
├── libgai 
├── libroute 
├── libunp.a(就是为了生成这个文件) 
├── Make.defines 
├── Make.defines.in 
├── Makefile 
├── Makefile.in 
├── mcast 
├── mysdr 
├── names 
├── nonblock 
├── oob 
├── ping 
├── README 
├── route 
├── rtt 
├── sctp 
├── select 
├── server 
├── sigio 
├── sock 
├── sockopt 
├── sparc64-unknown-freebsd5.1 
├── ssntp 
├── streams 
├── tcpcliserv 
├── test 
├── threads 
├── traceroute 
├── udpcksum 
├── udpcliserv 
├── unixdomain 
├── unpv13e 
└── VERSION

 

首先查看README 一般情况下我们只需要进行第一步和第二步 其他的是一些与其他架构有关的情况不管

执行下面两部生成libunp.a

1.   ./configure

2.     cd lib 

make (在lib上层目录中生成libunp.a)

 

生成libunp.a。复制这个静态库到/usr/lib/和/usr/lib64/中,因为后来编译程序的话需要用到这个静态库。还得在环境变量中将这两个路径加上。

 

接下来找到unp.h和config.h

1.我在我的主目录下新建了一个unp目录,专门处理unp的例子。然后把lib下的unp.h和上层目录的config.h放入unp目录,然后在unp目录下新建各个要实践的程序的章节目录 比如一开头的time server例子我就新建了个time server目录,在里面写书中的例子程序

:)

3.unp.h中将#include "../config.h"改成#include "config.h"

2.在unp.h中需要添加一行: 
#define MAX_LINE 2048

 

头文件为

#include "../unp.h"即可

 

如果书写的程序出现err_sys()等err函数找不到的情况 这是因为steven大神对错误处理进行了封装 可以搜索apueerror.h这个文件(有兴趣的同学可以研究下封装代码 篇幅小不难的) 然后放入unp目录 接着在程序中 #include "apueerror.h"即可

 

至此环境搭建结束,大家可以开始UNP编程之旅了,祝大家早日学成!~~~  哈哈

 

参考文章(包含apue编程环境搭建):

http://my.chinaunix.net/space.php?uid=11765716&do=blog&id=193676

 

 

 

UNIX网络编程》中的unp.h文件和config.h文件 UNIX网络编程》一书中大量使用了作者自己编写的包裹函数,这些函数的声明统统写在了 unp.h 头文件中,现在将这个头文件写在博文里,方便以后查看。注意:unp.h 和 config.h的生成, 可以上本书官网 http://www.unpbook.com/下载源代码,根据README中的使用方法生成 ,除了这两个头文件外还需要相关静库文件的支持。笔者系统环境为Ubuntu 17.04 amd64 阅读详情

相关推荐

unix网络编程 unp.h

unix网络编程第一卷。unp.h 兄弟自己一个字一个打进去的。 之前10分是在没有必要。 资源共享,共同享受编程的乐趣。 这部分代码比较新,可能SCTP有的系统不支持,需要修改一下源码。 如果你觉得还可以,那么给个评论吧。

UNIX网络编程》实验环境搭建、unp.h

学Linux下的网络编程,stevens的《UNIX网络编程 卷一》不可不看。经典中的战斗机。本文记录实验环境的搭建过程。本人linux用的是Centos 6.4。

m0_67394230的博客 252

C语言中头文件包含的处理原则

很多事不深入以为自己懂了,但真正用到项目上,才发现了问题。曾以为自己写C语言已经轻车熟路了,特别是对软件文件的工程管理上,因为心里对自己的代码编写风格还是有自信的。(毕竟刚毕业时老大对我最初的训练就是编码格式的规范化处理) 曾以为,一个.c文件对应一个.h文件,.c文件只包含它自身的.h文件就好,若.c文件中用到其他文件中的内容,则.h文件把用到的头文件包含进来就...

fengcq126的专栏 9093

UNIX网络编程配置unp.h头文件

0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解; 如果在文章中发现代码错误或其它问题请告知,感谢! 系统版本:Ubuntu 14.04_64 最后更新:2022-03-23 0x01配置步骤 1.下载unpv13e 可以通过http://www.unpbook.com/unpv13e.tar.gz下载,也可以通过 ...

C/C++攻城狮 1551

UNP学习第一步,unp.h头环境配置

  环境:Ubuntu 18.10 64bit 具体步骤如下 https://blog.csdn.net/liyuefeilong/article/details/50826061 但在Ubuntu 18.10 64位版本下会出现一些问题: 编译libfree文件夹下的源码时,会出现报错 将inet_ntop.c对应位置的变量类名改为socklen_t。 最后编译测试的获取当前日...

qq_32832307的博客 540

UNIX网络编程之旅-配置unp.h头文件环境

最近在学习Unix网络编程UNP),书中steven在处理网络编程时只用了一个#include “unp.h”  相当有个性并且也很便捷 于是我把第三版的源代码编译实现了这个过程,算是一种个性化的开发环境的搭建吧,顺便把过程记录下来,以便自己以后查阅。 首先去网上找到源代码包unpv.13e.tar.gz 一找一大堆 解压缩到你的某个目录,unpv13e里面大致有这些目录 ├── a

大梦初醒已千年 1002

UNIX网络编程配置unp.h头文件

文章目录1.下载命令2.解压unpv13e3.查看README3.1配置脚本3.2创建lib库3.3创建libfree3.4创建libroute3.5创建libxti库3.6使用客户端程序测试4.配置unp.h头文件到处可用5.编写程序验证 unpunix 网络编程的缩写。 环境:centos7.4 下载地址:http://www.unpbook.com/unpv13e.tar.gz 1.下载命令 wget http://www.unpbook.com/unpv13e.tar.gz 2.解压unpv13

ASCE_S的博客 2780

Unix NetWork Programming:配置unp.h头文件环境

在阅读Unix网络编程(第三版)的过程中发现(UNP),书中的代码只需要包含#include "unp.h"即可编译,百度了一下,有不少配置unp.h头文件环境的文章,因此试着操作了一下,以便自己日后查阅。

liyuefeilong的专栏 4384

Unix网络编程unp.h问题以及Linux中的库

Stevens的UNIX网络编程是一本很著名的UNIX网络编程书籍。其中使用了一个unp.h的引用,如果没有设置相应的库的话,即使引入了头文件也是没用的。所以首先要配置相应的库。

HsiunKao 2952

Xcode下配置UNIX网络编程UNP环境

由于自己配置unp相关头文件时遇到了很多问题,因此记录下Xcode配置unp开发环境的小技巧。apue开发环境也是类似的。 首先在Xcode下创建一个项目,选择Command Line Tool,点击next,填写Product Name和Organization Identifier(随意),选择Language为C。至此项目完毕。 ——》 从http://www.unpbook.com/s

博客 1320
上一篇: 脚本学习-----常用shell脚本if参数
风飘烟渺
博客等级 码龄17年 16粉丝 10原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值