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

原创 2016年08月30日 09:21:51

unix网络编程unp.h最详细全面配置说明

今天开始学习Unix网络编程这本大神之作了,由于之前在学习另外一本杰作Unix环境高级编程,遇到过第一个程序编译报错的情况,知道这是大神自己写的头文件在我们自己系统没有包括进去,所以第一步就是搭建好编程环境。好了开始了,我的Linux系统是Ubuntu,

第一步:下载  unpv13e.tar.gz  http://download.csdn.net/detail/ts173383201/4505201

第二步:保存在一个目录下。

第三步:解压    tar -xzvf unpv13e.tar.gz                 

第四步:cd unpv13e   ./configure。

第五步:  cd lib  再 make  

  1.      cd ../libfree
  2.       make
  3.      cd ../libgai
  4.       make
  5. :这两个make一开始我按照网上博客没有做,发现编译函数是小写时没出问题,但是程序含有大写函数时报错了,所以这两步要做。这里会遇到报错,

找到inet.h和inet——ntop.c对比发现,只要把size_t size 改成socklen_t 即可,会在上层目录生成libunp.a文件。

第六步:   sudo cp libunp.a /usr/lib   sudo  cp libunp.a /usr/lib64/ 

第七步:在lib目录中找到 unp.h,在解压目录下找到config.h,unp.h中将#include "../config.h"改成#include "config.h"   ,在unp.h中需要添加一行: #define MAX_LINE 2048,将他们复制到和我们的以后存放的源代码同一个目录下;

第八步:sudo   cp unp.h /usr/include   sudo cp config.h /usr/include。

第九步:可能还会遇到 undefined reference to 'err_quit',undefined reference to 'err_sys' 。这也是未定义的声明,也就是说这些函数没有实现,去官网把大神自己写的myerr.h,"apue.h"下载下来,放入/usr/include/ 和自己存放源代码的目录下,就可以了。

第十步:编译 gcc daytimetcpcli.-o daytimetcpcli -lunp,lunp一定要加。

写个程序验证下

#include    "unp.h"  
  
int  
main(int argc, char **argv)  
{  
    int                 sockfd, n;  
    char                recvline[MAXLINE + 1];  
    struct sockaddr_in  servaddr;  
  
    if (argc != 2)  
        err_quit("usage: a.out <IPaddress>");  
  
    if ( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)  
        err_sys("socket error");  
  
    bzero(&servaddr, sizeof(servaddr));  
    servaddr.sin_family = AF_INET;  
    servaddr.sin_port   = htons(13);    /* daytime server */  
    if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0)  
        err_quit("inet_pton error for %s", argv[1]);  
  
    if (connect(sockfd, (SA *) &servaddr, sizeof(servaddr)) < 0)  
        err_sys("connect error");  
  
    while ( (n = read(sockfd, recvline, MAXLINE)) > 0) {  
        recvline[n] = 0;    /* null terminate */  
        if (fputs(recvline, stdout) == EOF)  
            err_sys("fputs error");  
    }  
    if (n < 0)  
        err_sys("read error");  
  
    exit(0);  
}

编译通过了哈。

版权声明:本文为博主原创文章,未经博主允许不得转载。

《网络编程》关于 UNIX网络编程 卷1 的 unp.h 和源码编译问题

本文针对《网络编程 卷1》unp.h 头文件及其编译问题进行记录,在使用本书的源码时必须解决这个问题。本书的源码可在这里下载 http://www.unpbook.com。        首先进行编译...
  • chenhanzhun
  • chenhanzhun
  • 2014年12月09日 18:51
  • 6840

unp.h及网络编程UNP所有代码的下载

转载自:http://blog.sina.com.cn/s/blog_8e48f19a010141lr.html  以及自己的补充 下载UNP官方代码: http://www.unpbook.com/...
  • u010235142
  • u010235142
  • 2015年08月04日 15:23
  • 1850

UNP:《UNIX网络编程》例子程序中所使用的包裹函数及部分常量

《UNIX网络编程套接字联网API》这本书的示例中定义了许多包裹函数,它们的名称和标准函数一样,只是首字母变成大写字母;每个包裹函数完成实际的函数调用,检查返回值,并在发生错误时终止程序。 本文...
  • u012839809
  • u012839809
  • 2014年08月02日 14:47
  • 965

unp.h怎么使用

要开始接触网络编程,用的是大名鼎鼎的Unix Network Programming这本书,第一个例子就遇到困难了,unp.h没有,到谷歌上搜索了一下,找到了一些方法。先下载unpv13e.tar.g...
  • w616589292
  • w616589292
  • 2015年03月04日 15:35
  • 1136

UNP源码使用及编译

本文针对《网络编程 卷1》unp.h 头文件及其编译问题进行记录,本书源码下载地址 http://www.unpbook.com首先进行编译,在目录 unpv13e下依次执行以下步骤: ./co...
  • u010956473
  • u010956473
  • 2017年07月27日 19:53
  • 346

UNP在linux上环境搭建

下载源代码* wget http://www.unpbook.com/unpv13e.tar.gz 解压* tar -zxvf unpv13.tar.gz * cd unpv13e 编译* ./con...
  • ruguokeyi110
  • ruguokeyi110
  • 2015年03月19日 17:34
  • 1574

《UNP》中源代码的编译和使用

http://blog.chinaunix.net/uid-10780339-id-189358.html 分类: 网络相关  最近看了下《UNIX网络编程》,就想把里面的源代码搞...
  • wuxianglonghaohao
  • wuxianglonghaohao
  • 2014年09月01日 10:40
  • 1223

UNP的第一个程序

   我是没有打算直接使用"unp.h"的,因为那样的话,你会忽略了你所使用的函数所在的那个头文件。而很明显要想运行第一个程序不是件容易的事情。有三点1》正确编译客户端程序2》正确编译服务器端程序3》...
  • yzj19870824
  • yzj19870824
  • 2010年06月10日 11:13
  • 536

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

最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#include “unp.h”  相当有个性并且也很便捷于是我把第三版的源代码编译实现了这个过程,算是一种个性化的开发...
  • wd4084
  • wd4084
  • 2011年05月29日 00:32
  • 6339

《UNIX网络编程》中的unp.h和config.h

下载源代码包  www.unpbook.com 3.进入unp13e 查看readme,照下列提示操作  1)chmod u+x configure       ./config...
  • bood123
  • bood123
  • 2015年10月06日 20:59
  • 979
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unix网络编程之-------unp.h头文件详细配置-1
举报原因:
原因补充:

(最多只允许输入30个字)