《Unix网络编程 卷1》unp.h 头文件及其编译问题

本书源码下载地址 http://www.unpbook.com
解压tar -zxvf unpv13e.tar.gz
其实各个编译过程都在README中,下面给出正确的编译过程

首先进行编译

在目录 unpv13e下依次执行以下步骤:

./configure   cd lib
make   cd ../libfree
make   cd ../libroute
make //这一步可能会出错,可忽略,只是表示你的系统不支持 4.4BSD,并不影响对该书的学习  cd ../libgai
make   

将生成的 libunp.a 静态库复制到/usr/lib/ 和 /usr/lib64/ 中。

cd ..   //回到 unpv13e 目录
sudo cp libunp.a /usr/lib
sudo cp libunp.a /usr/lib64   

修改 unp.h 并将其和 config.h 拷贝到 /usr/include 中。

vim lib/unp.h //将 unp.h 中#include "../config.h"修改为#include "config.h"
sudo cp lib/unp.h /usr/include
sudo cp config.h /usr/include   

编译书本例子。注意:编译时必须加上静态链接库:-l 参数加上 libunp.a 去掉lib和后面的.a。最后得到参数-lunp

cd ./intro
gcc daytimetcpcli.c -o daytimetcpcli -lunp 

测试上面生成的可执行文件获取本机当前日期:

./daytimetcpcli 127.0.0.1  

在进行测试时会出现以下错误:

connect error:Connection refused  

以下通过 xinetd 开启 daytime 服务程序。
其实这个是因为xinetd服务没有启动,如果没有安装,在root下
要先安装 sudo apt-get install xinetd
然后

cd/etc/xinetd.d/  vim daytime  

将 daytime 文件中的两个 disable = yes修改成 disable = no,并保存退出,然后重启 xinetd;执行/etc/init.d/xinetd restart
再次测试书本上的第一个例子:此时可以正确获取本机的当前日期;

unpv13e/intro$ ./daytimetcpcli 127.0.0.1
09 DEC 2014 18:45:57 CST  

Unix——《Unix网络编程》配置unp.h头文件相关推荐

  1. Unix网络编程之-------unp.h头文件详细配置-1

    unix网络编程unp.h最详细全面配置说明 今天开始学习Unix网络编程这本大神之作了,由于之前在学习另外一本杰作Unix环境高级编程,遇到过第一个程序编译报错的情况,知道这是大神自己写的头文件在我 ...

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

    0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 系统版本:Ubuntu 14.04_64 最后更新:2022-03-23 0x01 ...

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

    最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#include "unp.h"  相当有个性并且也很便捷 于是我把第三版的源代码编译实现了这个过程 ...

  4. [转载]配置unp.h头文件环境

    原文:http://blog.csdn.net/wd4084/article/details/6452574 最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#incl ...

  5. 04.配置unp.h头文件出现开启 xinetd daytime 服务时 /etc/xinetd.d下 没有daytime 文件的解决办法

    一.引言 最近在学习 <Unix网络编程 卷1:套接字联网 API>.在编译其第一份代码 daytimetcpcli.c 的时候,发现作者使用到了 daytime 服务.比如下面这行代码: ...

  6. 文件 单片机_单片机C语言编程中reg52.h头文件的作用

    前言:本人出于爱好将不定期发送电气电工.前端.单片机等内容,可能会无法顾及关注我的所有人需求,请大家按需收藏自己想要知识,有用则收之,无用则弃之,不系统更新,仅供零星学习O(∩_∩)O哈哈~ 在代码的 ...

  7. #include sys/xxx.h头文件 UNIX头文件

    原文地址:#include sys/xxx.h头文件 UNIX头文件 作者:embededgood #include sys/xxx.h是Linux系统中的系统头文件 应用程序的头文件在/usr/in ...

  8. linux u8 头文件,2019-12-11 转载TCP/IP编程常用C语言头文件

    网络编程的头文件(这里所有的头文件都在/usr/include目录下面) 经常被一些头文件搞大,不知到到哪个头文件去找结构.这里做个总结 ---------------- 版权声明:本文为CSDN博主 ...

  9. winsock编程:关于因为头文件而报错的问题

    winsock编程:关于因为头文件而报错的问题 本文介绍关于头文件#include<windows.h>放在#include<winsock.h>之前报错的问题. 源文件1中: ...

最新文章

  1. 分词verterbi算法实现NLP分词,作者写的经验博客很丰富,需要重点读
  2. 「HDU6158」 The Designer(圆的反演)
  3. Qt QWidget实现手势缩放和平移(二)
  4. shiro认证授权过程
  5. python js返回 json_如何使用 Python 得到网页返回正确的 Json 数据
  6. Python协程原理介绍及基本使用
  7. 浅析jQuery源码
  8. Web前端开发规范之图片命名规范
  9. atitit.数据验证--db数据库数据验证约束
  10. 改变系统TCP默认 MSS
  11. 网址采集器-批量URL网站链接提取-批量关键词网站采集
  12. 在IEEE 上发表会议论文需要注意的几个事情
  13. 从零开始学习C语言 Day 036
  14. 外网下载速度过慢问题解决办法
  15. d3.js Zoomable Circle Packing 连线实现
  16. c || 结构体 联合体 枚举类型 字符串
  17. 计算机蓝屏无法启动代码50,电脑蓝屏代码0x0000002E/3F/44/50的原因与解决方法
  18. IIC从地址之7位,8位和10位详解
  19. mysql有文件形式编辑吗_mysql
  20. 文件已在资源管理器中打开无法删除解决方法

热门文章

  1. 题解 AT5258 【[ABC156A] Beginner】
  2. fopen文件路径怎么写_PHP文件上传
  3. Array,List,数据类型,caseclss模式匹配
  4. vue-cli3.0(创建项目)如何引入element-ui(指令篇)
  5. win10查看上次开机时间
  6. 网站留言板防重复留言_2020微信公众号怎么开通原创、赞赏、留言功能?【5月更新】...
  7. mybatis sql标签_【1039期】Mybatis面试18问,你想知道的都在这里了!
  8. Biscuit – 超方便的多开浏览器[Win/macOS/Linux]
  9. PC智能自媒体高效运营管理工具
  10. 百度SEO站群爱叶解析接口php网站源码