![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Muduo网络库项目
文章平均质量分 56
本项目提供了网络库框架,涉及知识不限于网络编程,C++11智能之类、C++类 、bind绑定器等。是个很好的学习实践项目
小丑乐
这个作者很懒,什么都没留下…
展开
-
Muduo04 配置项目的CMake文件
关键字指定要创建的是一个共享库(而非静态库)。最终生成的库文件会被输出到之前指定的。是一个 CMake 内置变量,表示 CMakeLists.txt 文件所在的目录,这行代码设置了运行此 CMake 配置文件所需的最低 CMake 版本。是一个 CMake 命令,用于将指定目录中的所有源文件(如。因此,这行代码指定所有生成的库文件(如。这行代码设置了生成的动态库(共享库)的输出路径。)中的所有源文件,并将它们添加到变量。文件)都会被放置在项目根目录下的。中的所有源文件编译成一个名为。的共享库(动态库)。原创 2024-09-02 20:04:35 · 98 阅读 · 0 评论 -
Mudo03 vscode配置相应的文件的搜索路径,库文件的搜索路径以及想要的链接库
是 Visual Studio Code 的任务配置文件,用于定义和配置各种任务(Task)。使用muduo库,需要链接libmuduo_base.so、libmuduo_net.so 、libpthread.so。:指定项目的编译器路径,头文件搜索轮径,编译选项等信息,以便编译器能够提供准确的代码补全,语法检查和调试功能而。:定义调试配置,包括要调试的程序,启动参数,调试器类型,断点设置。VScode上如何配置相应的头文件的搜索路径?-I:头文件搜索路径。-L:库文件搜索路径。原创 2024-09-02 19:55:54 · 94 阅读 · 0 评论 -
Muduo 02 select poll epoll比较
epoll使用双向链表:主要用于事件的通知和分发。当某个文件描述符上发生了一个事件,这个描述符会被加入到一个双向链表中,当调用epoll_wait函数时,会检查这个双向链表返回那些已经准备好的文件描述符。水平触发机制:事件没有处理完成时,每次调用select都需要通知进程。采用链表的方式村存储文件描述符,其他的跟selcet一样的。使用内存映射,不需要从用户空间频繁拷贝fd数据到内核空间。开销大:每次都需要把描述符从用户空间拷贝到内核空间。epoll使用红黑树来管理和存储注册的文件描述符。原创 2024-09-02 19:39:38 · 66 阅读 · 0 评论 -
Muduo 01 知识储备
阻塞与非阻塞:对一个线程来说,阻塞表现形式就是当前线程会阻塞到这个线程的运行的数据准备好,非阻塞的方式就是立刻返回,会通过返回值进行判断。异步非阻塞IO:用户进程进行aio_read系统调用之后,无论内核数据是否准备好,都会直接返回给用户进程,然后用户态进程可以去做别的事情。进程在返回之后,可以执行其他任务,然后再发起recvform系统调用,重复上面的过程,循环往复的进行recvform系统调用(轮询)异步:当客户端发送给服务端请求时,在等待服务端响应的时候,客户端可以做其他的事情,这样节约了时间。原创 2024-09-02 16:34:48 · 532 阅读 · 0 评论