muduo库介绍与安装

全部代码5000行 (不含测试)
线程安全,原生支持多核多线程
不考虑移植性,不跨平台,只支持Linux,不支持Windows
主要支持x86-64,兼顾IA32
不支持UDP,只支持TCP
不支持IPv6,只支持IPv4
不考虑广域网应用,只考虑局域网(实际上muduo也可以用在广域网上)
不考虑公网,只考虑内网。不为安全性做特别的增强
只支持一种使用模式:non-blocking IO + one event loop per thread,不支持阻塞IO
基于对象的编程风格:boost bind/function


moduo/base目录下

\-- base
    |-- AsyncLogging.{h,cc} 异步日志 backend
    |-- Atomic.h 原子操作与原子整数
    |-- BlockingQueue.h 无界阻塞队列(消费者生产者队列)
    |-- BoundedBlockingQueue.h 有界阻塞队列
    |-- Condition.h 条件变量,与 Mutex 一同使用
    |-- copyable.h 一个空基类,用于标识 (tag) 值类型
    |-- CountDownLatch.{h,cc} “倒计时门闩”同步
    |-- Date.{h,cc} Julian 日期库(即公历)
    |-- Exception.{h,cc} 带 stack trace 的异常基类
    |-- Logging.{h,cc} 简单的日志,可搭配 AsyncLogging 使用
    |-- Mutex.h 互斥器
    |-- ProcessInfo.{h,cc} 进程信息
    |-- Singleton.h 线程安全的 singleton
    |-- StringPiece.h 从 Google 开源代码借用的字符串参数传递类型
    |-- tests 测试代码
    |-- Thread.{h,cc} 线程对象
    |-- ThreadLocal.h 线程局部数据
    |-- ThreadLocalSingleton.h 每个线程一个 singleton
    |-- ThreadPool.{h,cc} 简单的固定大小线程池
    |-- Timestamp.{h,cc} UTC 时间戳
    |-- TimeZone.{h,cc} 时区与夏令时
    \-- Types.h 基本类型的声明,包括 muduo::string

安装muduo库
sudo yum install cmake
sudo yum install gcc-c++ # 安装g++
boost安装https://www.cnblogs.com/xiehongfeng100/p/4375613.html
tar zxvf muduo-0.9.0-beta.tar
cd muduo/
./build.sh

如何在自己项目中使用muduo?
muduo是静态链接的c++程序库,使用muduo库的时候,需要设置好头文件路径(例如…/build/release-install/include)和库文件路径(例如…/build/release-install/lib)并在编译时链接相应的静态库文件(-lmuduo_net -lmuduo_base)即可。
相应的示例Makefile地址: https://github.com/chenshuo/muduo-tutorial

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值