第0章:准备环境

转自:http://blog.csdn.net/fuxingdaima/article/details/8820009

源码下载unpv13e.tar.gz

如果是下载unpv12e.tar.gz版的在编译时会遇到不少麻烦。

$ tar xzvf unpv13e.tar.gz

$ cd unpv13e

编译过程,及遇到的问题。可以通过查看README文件来查看编译步骤

(1)编译库

$ ./configure

$ cd lib

$ make

$ cd ../libfree

$ make

会报错:inet_ntop.c:61: error: argument ‘size’ doesn’t match prototype

解决方法:进入该文件,把61行改为socklen_t size;

(2)编译客户程序和服务器端程序

$ cd ../intro

$ make

(3)运行测试

$ ./daytimetcpsvr&     //后台运行服务器

$ ./daytimetcpcli        //运行客户端,如下有日期输出即表示编译和测试成功了

(4)配下环境,以便测试自已写的程序

$ cd ..    //回到unpv13e目录下

$ cp libunp.a  /usr/lib

$ cp libunp.a  /usr/lib64

$ cp lib/unp.h .

$ vi unp.h  //把刚拷贝过来的unp.h文件中的#include"../config.h" 改为 #include"config.h"

$ cp unp.h config.h  /usr/include

此后,在自已编写的代码中可以直接include<unp.h>,编译时加上选项 -lunp 就可以链接libunp.a了。

时间: 2024-10-05 05:07:39

第0章:准备环境的相关文章

第0章Linux环境到内核基础知识

#include<stdio.h> int main(void) { printf("hello world\n"); return 0; } gcc -g -wall helloworld.c -o hello_world 生成可执行文件,其过程 涉及预处理,编译,汇编,链接等多个步骤 预处理:用于处理预处理命令,上面helloworld代码的预处理就是#include,该头文件所有源码将在第一行展开,可使用 gcc -E helloworld.c > hellow

设计模式之第0章-单例模式

设计模式之第0章-单例模式 当当当当~首先有请最简单的单例模式登场,先来个自我介绍吧 单例模式之自我介绍 我,单例模式(Singleton Pattern)是一个比较简单的模式,我的定义如下: Ensure a class has only one instance,and provide a global point of access to it.(确保其某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.)单例模式的通用类图如下: Singleton类称为单例类,通过使用priv

《Unix环境高级编程》读书笔记 第7章-进程环境

1. main函数 int main( int argc, char *argv[] ); argc是命令行参数的数目,包括程序名在内 argv是指向参数的各个指针所构成的数组,即指针数组 当内核执行C程序时(使用exec函数),在调用main前先调用一个特殊的启动例程.可执行程序文件将此启动例程指定为程序的起始地址——这是由连接器设置的,而连接器则是由C编译器调用.启动例程从内核取得命令行参数和环境变量值,然后按上述方式调用main函数做好安排. 2. 进程终止 有8种方式使进程终止,其中5种

APUE学习笔记:第七章 进程环境

7.1 引言 本章将学习:当执行程序时,其main函数是如何被调用的:命令行参数是如何传送给执行程序的:典型的存储器布局是什么样式:如何分配另外的存储空间:进程如何使用环境变量:各种不同的进程终止方式等:另外还将说明longjmp和setjmp函数以及它们与栈的交互作用:还将介绍研究进程的资源限制 7.2 main函数 C程序总是从main函数开始执行.当内核执行C程序时,在调用main前先调用一个特殊的启动例程.可执行程序文件将此启动例程指定为程序的起始地址——这是由连接编辑器设置的,而连接编

第1章 开发环境安装和配置(一):概述

原文 第1章 开发环境安装和配置(一):概述 目前Android在全世界市场上大约有75%的占有率,国人Android手机的持有比例更甚,甚至达到90%以上[网上找的介绍,不必在意]. 用C#开发手机应用程序,建议首选VS2015,这是因为VS2015内置的是C# 6.0,很多原来实现起来比较繁琐的操作,在VS2015下也都变得非常简单了. 1.跨平台移动应用开发 VS2015的移动跨平台采用Xamarin架构,这让原本就熟悉Visual Studio的开发者不用再熟悉其他的开发工具就能直接开发

第二章 TestNG环境搭建

------Web自动化测试之Webdriver+TestNG--从零到熟练(系列) TestNG是一个自动化测试框架,要使用这个测试框架编写我们的自动化测试用例,需要先行搭建对应的开发环境.本章我们就讲解WebDriver+TestNG开发环境的搭建. 2.1 环境配置 1,eclipse+jdk的安装 这个是比较基本的环境配置,如果你要使用eclipse开发你的代码,不管你是用java作为开发语言,还是用其他的如python作为开发语言,你都需要搭建这个环境.所以网上有很多Eclipse+j

第七章 高级环境

第七章 高级环境 7.2 main函数 C程序总是从main函数开始执行的.main函数的原型是: int main(int argc, char *argv[]); 其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组. 当内核执行C程序的时候(使用一个exec函数),在调用main前先调用一个特殊的启动例程.可执行程序文件将此启动例程指定为程序的起始地址-- 这是由连接编辑器设置的,而连接编辑器则是由C编译器调用的.启动例程从内核取得命令行参数和环境变量值,然后为按上述

读《梦断代码》第0章有感

今天我读了<梦断代码>的第0章,对编写软件又有了新的认识.知道软件虽然能带给我们许多新鲜的.意想不到的功能,但是却也是不确定,不是像建一座桥那样,可以按部就班,一步一步实施的. 首先吸引我注意的就是第0章,开始我还以为写错了,后来通过读书才知道,原来是作者故意这么写的,而他这么写的目的就是要提醒我们:程序员计数从0开始,而不是从1开始.这是因为计算机采用的是二进制.首先作者通过一个游戏Sumer的例子,吸引我们的兴趣.其实意在告诉我们,编程兴趣是最好的老师,当你真正对编程感兴趣的时候,那么你才

[wxWidgets]_[初级]_[配置codeblock+wxWidgets3.0.1开发环境]

配置Codeblock+wxWidgets-3.0.1开发环境 作者: Sai 1. 下载codeblock,进官网,首先提醒下,下载工具一定要进官网,最新,没木马. http://www.codeblocks.org/downloads/binaries 选在SourceForge.net下载吧. codeblocks-13.12mingw-setup-TDM-GCC-481.exe 2. 下载最新wxWidgets版本 3.0.1稳定版. http://www.wxwidgets.org/d

在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop2.6.0伪分布式环境. 1. 所需要的软件 使用Vmware 11.0搭建虚拟机,安装Ubuntu 14.04.2系统. Jdk 1.7.0_80 Hadoop 2.6.0 2. 安装vmware和ubuntu 略 3. 在ubuntu中安装JDK 将jdk解压缩到目录:/home/vm/tool