《Unix NetWork Programming》(Unix网络编程)—环境搭建
来源:互联网 发布:淘宝女童模特章露雅 编辑:程序博客网 时间:2024/05/17 06:32
1,安装编译器,为了齐全还是安装一下build-essential
- sudo apt-get install build-essential
2,下载本书的头文件及示例源码
点此下载unpv13e.tar.gz http://ishare.iask.sina.com.cn/f/13238521.html
3,解压unpv13e.tar.gz后进入目录查看README,然后可以按照里面提示操作,不过会遇到问题
第一步:在终端中进入upnv13e目录,然后执行代码:
[python] view plaincopy
- chmod u+x configure
- ./configure
第二步:进入lib目录下执行make:
[python] view plaincopy
- cd lib
- make
第三步:建立基础类库:
[python] view plaincopy
- cd ../libfree # continue building the basic library
- make
第四步:编译函数库:
[python] view plaincopy
- cd ../libgai # the getaddrinfo() and getnameinfo() functions
- make
4,将生成的libunp.a静态库复制到/usr/lib/和/usr/lib64/中。
- cd .. //回到unpv12e目录
- sudo cp libunp.a /usr/lib
- sudo cp libunp.a /usr/lib64
- gedit lib/unp.h //将unp.h中#include "../config.h"修改为#include "config.h"
- sudo cp lib/unp.h /usr/include
- sudo cp config.h /usr/include
6,编译源代码
- cd ./intro
- gcc daytimetcpcli.c -o daytimetcpcli -lunp
解决方法:daytimetcpcli.c:1:17: 致命错误: /usr/include/unp.h:权限不够
2.进入unpv13e解压目录下的lib文件里面找到unp.h,然后右键查看属性,选中权限,修改它的权限为读写,或只读sudo rm /usr/include/unp.h
ok,按照第6步的命令重新编译,pass,成功了sudo cp lib/unp.h /usr/include
跟普通的编译不一样的是要在最后加上刚才那个链接库,-l参数加上刚才那个libunp.a去掉lib和后面的.a。最后得到参数-lunp。
7,编写程序
以后编写完的程序安装6中的代码编译就行了,然后代码可以完全跟书上的一样。代码编辑器或IDE等就按自己的喜好来选了。这个网上很多c语言编程环境搭建教程。
我选择命令行用vim编写程序,主要为了锻炼一下自己。我的vim配置如下:http://lingshaohuprose.blog.163.com/blog/static/1695797822012271954678/
最后运行:./daytimetcpcli 127.0.0.1如下
acer@ubuntu:~/jwt/unpv13e/intro$ ./daytimetcpcli127.0.0.1
connect error: Connection refused
发现报错:connect error: Connection refused
这种情况说明服务器没有启动daytime服务!那Ubuntu如何启动,daytime服务呢?
Ubuntu启动daytime服务
在运行
出现结果!!
- 《Unix NetWork Programming》(Unix网络编程)—环境搭建
- unix网络编程(unix network programming)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix NetWork Programming——环境搭建(解决unp.h等源码编译问题)
- Unix网络编程—环境搭建
- Unix网络编程环境搭建
- unix网络编程 环境搭建 环境配置
- Codeforces Round #268 (Div. 2) B
- Mybatis if test中字符串比较
- TCP协议的TIME_WAIT状态详解
- 【面向切面编程_AOP】
- flume-ng+Kafka+Storm+HDFS 实时系统搭建
- 《Unix NetWork Programming》(Unix网络编程)—环境搭建
- 5.1 分布式 Git - 分布式工作流程
- 利用Excel制作问卷的柱形图
- UVa 10828 - Back to Kernighan-Ritchie (概率DP 期望 高斯消元)
- 实习收获总结
- js文件操作
- Firefox火狐浏览器使用小技巧
- Spring 获取web根目录 (Spring线程获取web目录/路径/根目录,普通类获取web目录)
- DOS,WINDOWS递归删除指定文件夹或文件