首页 > 编程语言 >unix网络编程环境搭建(有关unp.h头文件)

unix网络编程环境搭建(有关unp.h头文件)

时间:2022-10-31 23:03:19浏览次数:60  
标签:unp 头文件 unpv13e 编程 unix include config 目录


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

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

首先去网上找到源代码包unpv.13e.tar.gz 一找一大堆,或者在图灵社区搜索unix网络编程,将源码直接下下来。

解压缩到你的某个目录,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 

在当前目录下生成libunp.a。复制这个静态库到/usr/lib/和/usr/lib64/中,因为后来编译程序的话需要用到这个静态库。

3.  接下来找到unp.h和config.h,然后把lib下的unp.h和上层目录的config.h放入unpv13e目录(其实config.h已经在unpv13e目录下了)

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

5.  源代码中将头文件为#include "../unp.h"即可

步骤3、4、5还可以换成直接将unp.h和config.h复制到/usr/include目录下去,然后在源码所在目录make即可生成可执行程序

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

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

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

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




标签:unp,头文件,unpv13e,编程,unix,include,config,目录
From: https://blog.51cto.com/u_15854579/5811354

相关文章

  • Lua unpack和require探究
    table.unpack先思考一段代码:functionprintParam(a,b,c,d,e,f)print(a,b,c,d,e,f)endfunctionTest()locala={nil,2,nil,4,nil,5}......
  • C语言之预处理,头文件
    目录1预处理1.1简介1.2预处理器实例1.3预定义宏1.3.1简介1.3.2不带参数的宏1.3.3参数化的宏1.4预处理器运算符1.4.1宏延续运算符()1.4.2字符串常量化运算符(#)1.......
  • 《Unix&Linux系统编程》第六章学习笔记
    第6章信号和信号处理6.1信号和中断中断是从I/O设备或协处理器发送到CPU的外部请求,将CPU从正常执行转移到中断处理。信号是发送给进程的请求,将进程从正常执行转移到中断......
  • 《Unix/Linux系统编程》第六章学习笔记
    第6章信号和信号处理摘要本章讲述了信号和信号处理;介绍了信号和中断的统一处理,有助于从正确的角度看待信号;将信号视为进程中断,将进程从正常执行转移到信号处理;解释了信......
  • 《Unix/Linux系统编程》第九周学习笔记
    《Unix/Linux系统编程》第九周学习笔记信号和中断中断”是从I/O设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移到中断处理。与发送给CPU的中断请求一样,“信......
  • dos2unix
    代码在windowsvscode上写,写的时候忘了把EOL设置成\n,到linux上没法正常使用,脚本执行有问题,源文件无法正确编译。于是在网上搜到可以在linux上用dos2unix替换换行符。不......
  • Unix路径化简(注意.和..的区别)
    题目描述简化Unix风格的路径,需要考虑的包括"/../","//","/./"等情况输入描述:Unix风格的路径输出描述:简化后的Unix风格路径示例1输入复制/a/./b/../../c/输......
  • 《Unix/Linux系统编程》第六章学习笔记 20201209戴骏
    信号和信号处理1.信号和中断中断:从I/O设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移到中断处理。信号:发送给进程的请求,将进程从正常执行转移到中断处理。......
  • Unix路径简化
    题目描述简化Unix风格的路径,需要考虑的包括"/../","//","/./"等情况输入描述:Unix风格的路径输出描述:简化后的Unix风格路径示例1输入复制/a/./b/../../c/输......
  • Unix/Linux系统编程(信号和信号处理)
     一.关于信号和中断1.信号机制别名软中断,在<signal.h>系统头文件中定义了一系列的信号编号,都对应着一个正整数量:  进程在用户空间运行时,都要用信号机制......