zoukankan      html  css  js  c++  java
  • <unix网络编程> 的环境配置

    <unix网络编程> 的环境配置

     

    首先在网上下载UNP的库文件,然后就可以安装学了。我的系统环境:

    2.6.32-131.0.15.el6.i686 #1 SMP Sat Nov 12 17:30:50 CST 2011 i686 i686 i386 GNU/Linux

    LSB Version:    :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
    Distributor ID:    CentOS
    Description:    CentOS release 6.1 (Final)
    Release:    6.1
    Codename:    Final


    一. 生成libunp.a静态库

        cd unpv3e        #源目录
     
        ./configure     # try to figure out all implementation differences  
                           生成config.h配置文件
     
        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             生成libunp.a

    二. 复制配置文件(也可用其他方法)
        
        cp unp.h          /usr/local/include     //要该变root权限,unp.h在lib目录中
        cp unpthread.h  /usr/local/include  //线程的头文件
        cp config.h     /usr/local/include     //config.h在源目录中
        cp libunp.a     /usr/local/lib        //libunp.a在源目录中
        
    三. 修改配置文件
        
        cd /usr/local/include
        vim unp.h    #include "../config.h" 改为 #include "config.h",unp.h和config.h是在一起的。

        修改三个文件的权限属主(chown,chgrp)等

        为了使用g++进行编译:
        将unp.h和unpthead.h内容放在extern “C”中间
        extern "C" {
        ...
        } /* extern "C" */

        为了可以调试打印在unp.h中添加:
        #ifdef DEBUG
        #define DPRINTF(fmt, ...)        printf(fmt, ##__VA_ARGS__), printf(" "), fflush(NULL)    
        #else
        #define DPRINTF(fmt, ...)        ((void)0)
        #endif

    四. 修改环境变量(已添加的可以不用了)
        
        vim .bash_profile
        PATH中添加/usr/local/include:/usr/local/lib

    五. 验证
        
        cd 源目录/intro

        gcc byteorder.c -o byteorder -lunp
        ./byteorder
        i686-pc-linux-gnu: little-endian
        验证OK

    注意: 我们自己写程序时,不能使用c99标准的内容(例如for(int i)), 否则会出现unp.h编译错误。
        




        

     

     

  • 相关阅读:
    SQL修改字段默认值、获取字段默认值
    关于sql server 代理(已禁用代理xp)解决办法
    JAVA 调用存储过程
    软件下载
    log4j 日志配置和jar包下载
    不同数据库间数据传输
    数据库操作——单用户模式,紧急模式下解决方法
    索引篇
    leetcode Reorder List
    leetcode word ladder
  • 原文地址:https://www.cnblogs.com/hancm/p/3866731.html
Copyright © 2011-2022 走看看