Ubuntu中网络编程的环境配置

简介: Ubuntu中网络编程的环境配置

《UNP》中源代码的编译和使用 (2010-10-16 21:13)转载  

分类: 网络相关    

最近看了下《UNIX网络编程》,就想把里面的源代码搞过来运行下。以前也搞过,不过老是忘记使用代码的步骤了,所以就记录下,防止每次还要弄半天。


 

从网上下载压缩包解压到自己设定的目录下面,我的是/home/**/myprogram/UNP/unpv13e/,里面有  

./    
├── aclocal.m4    
├── advio    
├── bcast    
├── config.guess    
├── config.h    
├── config.h.in    
├── config.log    
├── config.status    
├── config.sub    
├── configure    
├── configure.in    
├── debug    
├── DISCLAIMER    
├── icmpd    
├── inetd    
├── install-sh    
├── intro    
├── ioctl    
├── ipopts    
├── key    
├── lib    
├── libfree    
├── libgai    
├── libroute    
├── libunp.a(就是为了生成这个文件)    
├── Make.defines    
├── Make.defines.in    
├── Makefile    
├── Makefile.in    
├── mcast    
├── mysdr    
├── names    
├── nonblock    
├── oob    
├── ping    
├── README    
├── route    
├── rtt    
├── sctp    
├── select    
├── server    
├── sigio    
├── sock    
├── sockopt    
├── sparc64-unknown-freebsd5.1    
├── ssntp    
├── streams    
├── tcpcliserv    
├── test    
├── threads    
├── traceroute    
├── udpcksum    
├── udpcliserv    
├── unixdomain    
├── unpv13e    
└── VERSION

这么多的东西,呵呵!!,当然我们不能忘记了README这个助手  

QUICK AND DIRTY    

===============

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。

root@**-desktop:/home/**/myprogram/UNP/unpv13e/intro# gcc -W -o byteorder byteorder.c -lunp  
root@**-desktop:/home/**/myprogram/UNP/unpv13e/intro# ./byteorder    
i686-pc-linux-gnu: little-endian
相关文章
|
6月前
|
Ubuntu Windows
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
【Ubuntu/Arm】Ubuntu 系统如何链接有线网络(非虚拟机)?
|
6月前
|
Ubuntu
虚拟机Ubuntu连接不了网络的解决方法
虚拟机Ubuntu连接不了网络的解决方法
106 0
|
6月前
|
Ubuntu
如何在 Ubuntu 中创建网络绑定和桥接?
如何在 Ubuntu 中创建网络绑定和桥接?
237 0
如何在 Ubuntu 中创建网络绑定和桥接?
|
分布式计算 Ubuntu Hadoop
【Linux】在ubuntu18.04系统中配置网络信息(超有用,完美解决,只看这一篇就行了)
【Linux】在ubuntu18.04系统中配置网络信息(超有用,完美解决,只看这一篇就行了)
846 0
|
1月前
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
514 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
3月前
|
Ubuntu 开发工具 Android开发
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
本文介绍了在基于Ubuntu 22.04的环境下配置Python 3.9、安装repo工具、下载和同步AOSP源码包以及处理repo同步错误的详细步骤。
240 0
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
|
1月前
|
Ubuntu Linux Windows
wsl重装Ubuntu遇到的一些问题( WslRegisterDistribution failed with error: 0x80041002 Error: 0x80041002 (null)、重置网络后WLAN图标消失)
wsl重装Ubuntu遇到的一些问题( WslRegisterDistribution failed with error: 0x80041002 Error: 0x80041002 (null)、重置网络后WLAN图标消失)
|
1月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
138 0
|
2月前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
277 3
|
2月前
|
Ubuntu
树莓派 —— ubuntu上通过netplan配置网络
树莓派 —— ubuntu上通过netplan配置网络
下一篇
无影云桌面