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

简介: 最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#include “unp.h”  相当有个性并且也很便捷 于是我把第三版的源代码编译实现了这个过程,算是一种个性化的开发环境的搭建吧,顺便把过程记录下来,以便自己以后查阅。

最近在学习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编程之旅了,祝大家早日学成!~~~  哈哈

相关文章
|
6天前
|
存储 安全 网络安全
构筑防御堡垒:云计算环境下的网络安全策略与实践
【5月更文挑战第59天】 随着企业逐渐将数据和服务迁移至云端,云计算的安全性成为不容忽视的关键问题。本文深入探讨了在动态且复杂的云环境中如何有效实施网络安全策略,确保数据的保密性、完整性和可用性。通过分析当前云服务面临的安全威胁,结合最新的信息安全技术和最佳实践,本文提出了一系列切实可行的防御措施,并讨论了如何在保障业务连续性的同时提升系统的整体安全性能。
|
6天前
|
存储 安全 网络安全
云计算环境下的网络安全挑战与对策
随着云计算技术的迅猛发展,企业和个人用户越来越多地将数据和服务迁移到云端。然而,云环境的开放性和复杂性也给网络安全带来了前所未有的挑战。本文将深入探讨云计算环境中的主要安全威胁,包括数据泄露、服务中断和合规风险等,并分析其背后的技术与管理原因。通过引用最新的研究成果和行业报告,文章揭示了云计算安全的现状,并提出了相应的对策,如加强数据加密、实施严格的访问控制和多因素认证、以及采用人工智能技术提升安全防护能力。最后,本文强调了建立全面的安全策略和持续的安全意识教育对于提高云环境安全性的重要性。
|
8天前
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之怎么把将客户端所在的网络和实例配置到同一环境去
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
15天前
|
存储 安全 网络安全
构筑防御堡垒:云计算环境中的网络安全策略
【5月更文挑战第50天】 在数字化转型的浪潮中,云计算已成为支撑企业运营的重要基石。然而,随着数据量的激增和云服务的普及,网络安全威胁也随之增加。本文将深入探讨云计算环境中的网络安全挑战,并提出一系列创新的安全策略来强化信息安全防线。通过分析当前云服务的安全漏洞、网络攻击手段以及合规性要求,我们将探索如何构建一个既灵活又强大的安全框架,以保护云基础设施和敏感数据不受网络威胁影响。
|
10天前
|
运维 网络安全 网络虚拟化
2024网络建设与运维赛题-交换配置教程
SW1, SW2, SW3作为核心交换机,配置了多个VLAN以隔离不同部门的网络,如产品、营销、财务和行政。配置中还包括启用VLAN访问控制,允许特定VLAN通过二层链路,并设置了链路聚合(LACP)以增强SW1和SW2之间的连接可靠性。此外,所有交换机都配置了IP VRF来支持分公司(Branch,RD 1:1)和Internet(RD 2:2)的虚拟专用网络。
2024网络建设与运维赛题-交换配置教程
YOLOv8打印模型结构配置信息并查看网络模型详细参数:参数量、计算量(GFLOPS)
YOLOv8打印模型结构配置信息并查看网络模型详细参数:参数量、计算量(GFLOPS)
|
1天前
|
网络协议 Linux 开发工具
计算机网络--TCP中的参数配置
计算机网络--TCP中的参数配置
|
1天前
|
域名解析 网络协议 Linux
linux网络-- 手动配置ip地址
linux网络-- 手动配置ip地址
|
1天前
|
网络协议 网络安全
使用NetAssist网络调试助手在单台计算机上配置TCP服务器和客户端
使用NetAssist网络调试助手在单台计算机上配置TCP服务器和客户端
13 0
|
6天前
|
Unix
UNIX中的头文件
UNIX中的头文件
7 0