muduo 网络库学习之路(一)
前提介绍:
本人是一名大三学生,主要使用C++开发,兴趣是高性能的服务器方面。
网络开发离不开网络库,所以今天开始学一个新的网络库,陈老师的muduo库
我参考的书籍就是陈老师自己关于muduo而编著这本《linux多线程服务器编程》
为什么选择muduo网络库:
我当初选择muduo网络库有三个方面的原因,第一点就是muduo网络库的代码完全开源,我们可以很轻松的通过看muduo的源码来分析muduo在服务器开发中到底使用了什么技术
其次muduo的框架并不是特别的复杂, 适合本人这种小白学习,并不是ACE那种特别庞大的网络库,不适合人来学习
muduo的C++写法十分符合最新的C++写法,大部分使用了C++11的新特性,而不像很多其他开源C++网络库,里面还是会看到C的影子,更适合我们了解原本的C++而不被C的东西带偏了
muduo的下载与安装(本人使用ubuntu18.10)
muduo的源码在github上面就能找到,但是编译和安装,你需要安装一些基础工具
首先安装cmake:
sudo apt-get install cmake
muduo依赖于Boost:
sudo apt-get install libboost-dev libboost-test-dev
muduo还有三个非必须的依赖库,example有些事例依赖于这些
sudo apt-get install libcurl4-openssl-dev libc-ares-dev
sudo apt-get install protobuf-compiler libprotobuf-dev
muduo的编译方法也很简单(我用的muduo-2.0.0):
tar zxf muduo-2.0.0.tar.gz
cd muduo/
./build.sh -j2
如果想使用的话,需要讲编译出来的文件夹里面的lib导入到你的/usr/lib文件夹中
头文件也可以放到/usr/include文件夹中,这样你就可以使用<>导入头文件
muduo的结构目录:
我们可以使用tree命令来查看这个网络库文件的架构
如果没有tree工具,可以在ubuntu上面直接使用apt安装
这里可以看见一个example,里面含有大量的测试事例,我们可以通过这些例子来充分学习muduo网络库的知识和用法
最新文章
- 分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。
- css中外边距合并
- GJM:书籍相关整理 [原创]
- editplus-使用正则表达式替换每行首字母和尾字母
- Delphi中exit、break、continue等跳出操作的区别
- Nginx高性能服务器安装、配置、运维 (3) —— Nginx配置详解
- 适合编写代码的字体 Source Code Pro
- GO开发[二]:golang语言基础
- springmvc 开发流程图
- 资本寒冬下的android面经
- Linux内核调试:kdump、vmcore、crash、kernel-debuginfo【转】
- Fiddler手机抓包软件简单使用--将h5效果显示在手机
- boost-字符文本处理
- 手把手教你学会用Spring AOP
- 浏览器页面请求js、css大文件处理
- github优秀前端项目分享(转)
- logback -- 配置详解 -- 一 -- <;configuration>;及子节点
- Guava Files 源码分析(二)
- JS种正则表达式的基础用法
- IDEA创建一个Spring MVC 框架Java Web项目,Gradle构建
热门文章
- 0ctf2018 pwn
- linux centos7最小化安装桥接模式网络设置、xshell、xftf
- TYPE_SCROLL_INSENSITIVE is not compatible with CONCUR_UPDATABLE
- SQLServer Temp tables 数据疑问
- -webkit-min-device-pixel-ratio: 2是什么意思?
- 记开发个人图书收藏清单小程序开发(七)DB设计
- linuxGame:文明5汉化
- python-面向过程编程
- Linux setenforce命令详解[SeLinux操作]
- 64位操作系统下调用32位com的问题