首页 > 代码库 > <unix网络编程> 的环境配置
<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("\n"), 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编译错误。