第一篇:《UNIX 网络编程 第二版》编译环境的搭建

第一步:搭建基本的编译环境

  安装gcc, g++, bulid-essential等编译软件

第二步:下载本书示例源码包

第三步:解压下载到的包并放在用户主目录中

第四步:进入包内并执行以下命令

1 sudo chmod u+x configure
2 ./configure

第五步:进入包内lib子目录下执行make命令

第六步:进入包内libfree子目录下执行make命令

第七步:进入包内libgai子目录下执行make命令

第八步:执行以下命令,将前面生成的libunp.a库复制到/usr/lib和/usr/lib64中

1 sudo cp ~/unpv13e/libunp.a /usr/lib/
2 sudo cp ~/unpv13e/libunp.a /usr/lib64/

第九步:为了以后包含头文件方便,修改包内子目录lib中的unp.h并将它和config.h拷贝到/usr/include中

1 gedit ~/unpv13e/lib/unp.h
2 #将其中的 #include "../config.h" 修改为 #include "config.h"
3 sudo cp ~/unpv13e/lib/unp.h /usr/include/
4 sudo cp ~/unpv13e/config.h /usr/include

第十步:进入intro子目录,编译一个示例代码测试一下

1 gcc daytimetcpcli.c -o 1 -lunp    # 别漏了后面的连接库参数
时间: 2024-10-23 21:17:02

第一篇:《UNIX 网络编程 第二版》编译环境的搭建的相关文章

<<unix 网络编程>> 源码编译daytimetcpcli.c 问题汇总

最近开始学习unix网络编程,开篇第一个程序daytimetcpcli.c编译运行成功,就花费了很多心思,把问题汇总出来,供各位参考. FreeBsd unix 系统构建的vmware虚拟机,之前对FreeBsd也是小白,虽说也玩过linux,对网络通信这些设置啊还是不熟. 书中源代码如下: #include "../lib/unp.h" #include "../lib/error.c" int main(int argc, char **argv) { int

《Java从入门到放弃》JavaSE入门篇:网络编程(入门版)

要进行网络编程,首先要搞清楚目的是什么. 网络编程说简单点就是在网络上的计算机进行数据的交互. 既然要进行数据交互,那就需要有一个发送方和一个接受方. 按网络上的说法,就是一个攻一个受· 当然,现阶段网上的电脑一般来说都是既接受数据,也能发送数据的,所以说这些电脑都是"插座型"的,进可攻,退可受!!! 好吧,还是使用专业点的名字吧:客户端/服务器. 那么具体到两台电脑,它们是如何来交互数据的呢?请看下图: 从步骤来分析: 一.服务器端程序 1.1创建一个服务器套接字(ServerSoc

python 网络编程第二版

为服务端增加多进程解决方案 1.server端代码如下: #!/usr/bin/python #!coding:utf-8 import os,sys,time from socket import * def handleClient(conn): print '[info] handleClient is :{0}'.format(os.getpid()) while True: data = conn.recv(1024) if not data : print '[info] handl

UNIX网络编程卷2 源码编译篇

W. Richard Stevens的主页: 源代码下载   >>  ~/Downloads/unpv22e.tar.gz; 1 tar -xzfv unpv22e.tar.gz 2 cd unpv22e 3 ./configure 4 cd lib 5 make make编译失败,因为需要对两个文件修改,unpv22e/config.h和unpv22e/wrapunix.c. 1 vi config.h 2 3 /*注释掉这三行*/ 4 // #define uint8_t unsigned

Unix网络编程第三版源码编译

配置: $ cd Unix-Network-Programming/ $ chmod 755 configure $ ./configure 主要的工作是检查系统是否有源码编译所依赖的各种资源(系统版本是否匹配.编译器.库文件.头文件以及结构体定义等等) checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for

【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数

本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O复用适用于以下场合: (1) 当客户处理多个描述符(一般是交互式输入或网络套接字),必须适用I/O复用 (2) 当一个客户处理多个套接字时,这种情况很少见,但也可能出现 (3) 当一个TCP服务器既要处理监听套接字,又要处理已连接套接字,一般就要使用I/O复用 (4) 如果一个服务器既要适用TCP,

unix网络编程各种TCP客户-服务器程序设计实例附环境搭建和编译方法(一)

一,到http://download.csdn.net/detail/ts173383201/4505201去下载源代码,然后解压: 二,cd到你解压后的文件夹下,就是有configure的那个目录下,执行命令./configure: 三,执行cd lib跳到lib目录下,执行make命令,会在上层目录(就是刚才有configure那个目录)生成libunp.a文件 四,复制这个静态库libunp.a到/usr/lib/和/usr/lib64/中; 五,接下来在目录中找到unp.h和config

UNIX网络编程(第三版 ) 测试代码 7.2

头文件 #ifndef UNP_H_ #define UNP_H_ /**  * @file unp.h   * @brief  global structure for unp  * @author mhw  * @copyright galaxywind  * @date 2013/11/06  * @note  *        */ #include <stdlib.h> #include <stdio.h> #include <string.h> #inclu

python基础学习07(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #file与input output #文件对象 #简单说来,就是写入和读取的方式 #file(),open()2个操作都是一样的,一般推荐open() #语法 # open(name[, mode[, bufferin