UNIX网络编程之旅-配置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编程之旅了,祝大家早日学成!~~~ 哈哈
UNIX网络编程之旅-配置unp.h头文件环境的更多相关文章
- 【转】【Raspberry Pi】Unix NetWork Programming:配置unp.h头文件环境
一.初衷 近期正在做网络计算编程的作业.要求平台为unix/linux,想着Raspberry Pi装的Debian系统也是Linux改的,也应该能够勉强用着,所以就用它来做作业了! 二.说明 先把环 ...
- unix网络编程-配置unp.h头文件
第一步进入:www.unpbook.com,下载unp的随书代码.新建一个目录,将压缩包拷贝到这一目录下面,然后将压缩包直接解压:tar -zxvf 压缩包名.tar.gz 完成上一步后,进入到un ...
- 《UNIX网络编程 卷1》之"学习环境搭建"(CentOS 7)
<UNIX网络编程 卷1>的源码可以从www.unpbook.com下载得到.解压之后的目录为unpv13e. 详细步骤 编译 进入unpv13e目录,按如下步骤编译: ./configu ...
- UNIX网络编程 环境搭建
配置好动态链接库或者静态链接库 1,下载UNIX网络编程书的头文件及示例源码unpv13e 2 按照readme来编译 Execute the following from the src/ d ...
- 《UNIX网络编程》TCP客户端服务器例子
最近在看<UNIX网络编程>(简称unp)和<Linux程序设计>,对于unp中第一个获取服务器时间的例子,实践起来总是有点头痛的,因为作者将声明全部包含在了unp.h里,导致 ...
- 16.unix网络编程一卷 unp.h
unix网络编程 --ubuntu下建立编译环境 1.安装编译器,安装build-essential sudo apt-get install build-essential 2.下载本书的头文件 下 ...
- 记录一次配置unix网络编程环境的过程和遇到的问题
记录一次搭建unix网络编程环境过程中遇到的问题和总结 计算机环境虚拟机 linuxmint-18-xfce-64bit 1.打开unix网络编程.iso 把目录下的文件复制到某一目录,修改权限,可命 ...
- UNIX环境高级编程 apue.h头文件的配置
http://jimslinbing.blog.163.com/blog/static/85054319201292712414518/ 1.到http://www.apuebook.com下载源码2 ...
- unix网络编程环境搭建
unix网络编程环境搭建 网络编程 环境 1.点击下载源代码 可以通过下列官网中的源代码目录下载最新代码: http://www.unpbook.com/src.html 2.解压文件 tar -xz ...
随机推荐
- dnspod域名解析设置
time: 2016-01-8 10:30 因为我的博客是用Github page搭建的,所以要把域名和Github_name.github.io的URL联系起来.本人实在小白一个,就纪录一下 ...
- Spring Boot—10ModelAndView、Model,以及@ModelAttribute注解
package com.sample.smartmap.controller; import org.springframework.beans.factory.annotation.Autowire ...
- Android解析ActivityManagerService(一)AMS启动流程和AMS家族
前言 此前在Android系统启动流程.应用进程以及深入四大组件这三个系列文章中,都提及到了AMS,但都没有系统的来讲解它,本文就以AMS为主来进行讲解,其中会有一些知识点与这些系列文章有所重合,这里 ...
- request对象方法
1.html <html> <head> <meta http-equiv="Content-Type" content="text/htm ...
- 游戏攻略 Re:LieF ~親愛なるあなたへ~ (relief给挚爱的你)
箒木 日向子 反対(賛成) ◆セーブ01 図書館へ向かう ◆セーブ02 日向子 食べてあげない もちろん.おいしかったよ コミュニケーション (汉化版显示为:交流) 日向子END ※回想2個目に追加 ...
- maven 结合mybaits整合框架,打包时mapper.xml文件,mapper目录打不进war包去问题
首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...
- 用Use Case获取需求的方法是否有缺陷,还有哪些地方需要改进
(提示:是否对所有应用领域都适用?使用的方便性?......) Use Case使用原则: 1.通过讲简单的故事来传递消息 讲故事是最有效的人与人交流信息的途径.通过讲故事(Use Case),团队成 ...
- 第八章 SQL高级处理 8-2 GROUPING运算符
一.同时得到合计行 合计行是不指定聚合键时得到的汇总结果. UNION ALL与UNION的不同之处是它不会对结果进行排序,因此比UNION性能更好. 二.ROLLUP——同时得出合计和小计 GR ...
- [翻译] EAIntroView
EAIntroView https://github.com/ealeksandrov/EAIntroView This is highly customizable drop-in soluti ...
- MFC连接postgre数据库
配置环境: include:libpq-fe.h文件 lib:libpq.lib文件 dll:libeay32.dll,libiconv-2.dll,libintl-8.dll,libpq.dll,s ...