zoukankan      html  css  js  c++  java
  • 《UNP》中源代码的编译和使用

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

    README 文件

    Execute the following from the src/ directory:

        ./configure # try to figure out all implementation differences

        cd lib # build the basic library that all programs need
        make # use "gmake" everywhere on BSD/OS systems

        cd ../libfree # continue building the basic library
        make

        cd ../libroute # only if your system supports 4.4BSD style routing sockets
        make # only if your system supports 4.4BSD style routing sockets

        cd ../libxti # only if your system supports XTI
        make # only if your system supports XTI

        cd ../intro # build and test a basic client program
        make daytimetcpcli
        ./daytimetcpcli 127.0.0.1

    If all that works, you


    其实需要执行的就是前三步,其实就是为了生成libunp.a。复制这个静态库到/usr/lib/和/usr/lib64/中,因为后来编译程序的话需要用到这个静态库。还得在环境变量中将这两个路径加上。

    接下来的是头文件unp.h的问题,这个文件在这个解压缩目录的lib文件夹中。

    因为里面所有的文件都包含了#include“unp.h”这一句话,为了方便可以有两种方法:
    一:
    1.将lib下面的unp.h复制到/usr/include文件夹下面,并保证环境变量中有/usr/include;
    2. 因为unp.h中有#include "../config.h",所以得把解压缩目录下面的config.h复制到/usr/include中,并将unp.h中的#include "../config.h"改成 #include "config.h"。
    3在unp.h中添加一行:
    #define MAX_LINE 2048

    二:
    1.将lib文件夹下面的unp.h移到unpv13e中,
    2.参照上面的第二条;
    3.参照上面的第三条;
    4.以后在子文件夹里面编译程序,把#include"unp.h"改为#include"../unp.h"

    做完上面,我们就可以编译单个程序了,比如intro/byteorder.c。

     gcc -W -o byteorder byteorder.c -lunp
     ./byteorder
    i686-pc-linux-gnu: little-endian

  • 相关阅读:
    团队与领导力健康检查 | 体检表
    如何改变组织文化
    如何在各种文化背景下成功敏捷
    OKR痛点与误区 | 敏捷家分享007
    Scrum培训感想
    如何讲好故事
    Lc70_爬楼梯
    Lc641_设计循环双端队列
    Lc32_最长有效括号
    Lc239_滑动窗口最大值
  • 原文地址:https://www.cnblogs.com/liulipeng/p/2977227.html
Copyright © 2011-2022 走看看