zoukankan      html  css  js  c++  java
  • UNIX网络编程之旅配置unp.h头文件环境[ 转]

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

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

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

  • 相关阅读:
    PHP中的无限级分类
    JS中json数据格式取值实例
    PHP中类的延迟绑定
    电阻
    不能做“没事找抽型”投资者
    Delphi相关文件扩展名介绍
    三极管
    沃伦·巴菲特
    电压,电流,电阻的关系就是欧姆定律
    CnPack 使用的组件命名约定
  • 原文地址:https://www.cnblogs.com/shenlian/p/2146190.html
Copyright © 2011-2022 走看看