前提介绍:

  本人是一名大三学生,主要使用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网络库的知识和用法

最新文章

  1. 分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。
  2. css中外边距合并
  3. GJM:书籍相关整理 [原创]
  4. editplus-使用正则表达式替换每行首字母和尾字母
  5. Delphi中exit、break、continue等跳出操作的区别
  6. Nginx高性能服务器安装、配置、运维 (3) —— Nginx配置详解
  7. 适合编写代码的字体 Source Code Pro
  8. GO开发[二]:golang语言基础
  9. springmvc 开发流程图
  10. 资本寒冬下的android面经
  11. Linux内核调试:kdump、vmcore、crash、kernel-debuginfo【转】
  12. Fiddler手机抓包软件简单使用--将h5效果显示在手机
  13. boost-字符文本处理
  14. 手把手教你学会用Spring AOP
  15. 浏览器页面请求js、css大文件处理
  16. github优秀前端项目分享(转)
  17. logback -- 配置详解 -- 一 -- &lt;configuration&gt;及子节点
  18. Guava Files 源码分析(二)
  19. JS种正则表达式的基础用法
  20. IDEA创建一个Spring MVC 框架Java Web项目,Gradle构建

热门文章

  1. 0ctf2018 pwn
  2. linux centos7最小化安装桥接模式网络设置、xshell、xftf
  3. TYPE_SCROLL_INSENSITIVE is not compatible with CONCUR_UPDATABLE
  4. SQLServer Temp tables 数据疑问
  5. -webkit-min-device-pixel-ratio: 2是什么意思?
  6. 记开发个人图书收藏清单小程序开发(七)DB设计
  7. linuxGame:文明5汉化
  8. python-面向过程编程
  9. Linux setenforce命令详解[SeLinux操作]
  10. 64位操作系统下调用32位com的问题