• UNIX网络编程(一)-unp.h文件的编译


    1. 源代码的下载:
    源码下载地址unpv13e

    2.源代码的编译

    1. 首先解压,然后在目录unpv13e下运行./configure
    2. 进行编译链接库;
    cd lib
    make
    cd ../libfree   
    #当运行此步时可能出现下面图片中的情况,解决办法:将报错地方的size_t 换成 socklen_t
    make                
    cd ../libgai
    make  

    这里写图片描述

    3.将unpv13e/lib/unp.h中的 #include "../config.h" 替换为 #include "config.h",然后再添加下面两行:

     #define MAX_LINE 2048
     #include "error.c"

    4.在unpv13e目录下下打开终端,运行下面几行命令,移动文件

    sudo cp libunp.a /usr/lib  
    sudo cp libunp.a /usr/lib32/ 
    sudo cp lib/unp.h /usr/include
    sudo cp lib/error.c /usr/include 
    sudo cp config.h /usr/include

    5.编写实例程序

    //test.c
    #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);    
    }  
    

      

    编译: gcc test.c -o test,如果出现下面的错误检查第三步是否有错;

    这里写图片描述

  • 相关阅读:
    我的Android app开发生涯
    极客学院
    区分H5和native页面
    H5之测试工具
    放最多水
    数组去重 快慢指针
    搜索插入位置 二分查找
    this指向
    JS 抖动和节流
    图片懒加载和预加载
  • 原文地址:https://www.cnblogs.com/topk/p/6580072.html
Copyright © 2020-2023  润新知