06 2021 档案
摘要:虽然服务器程序种类繁多,但其基本框架都一样,不同之处在于逻辑处理 模块 功能 I/O 处理单元 处理客户连接,读写网络数据 逻辑单元 业务进程或线程 网络存储单元 数据库、文件或缓存 请求队列 各单元之间的通信方式 IO处理单元:主要是服务器管理客户链接的模块,它通常完成以下工作:等待并接受新的客户
阅读全文
摘要:阻塞非阻塞、同步异步IO 典型的一次IO的两个阶段是什么:数据准备和数据读写 数据准备:根据系统IO的就绪状态 阻塞 非阻塞 数据读写:根据应用程序和内核的交互方式 同步 异步 陈硕:在处理 IO 的时候,阻塞和非阻塞都是同步 IO,只有使用了特殊的 API 才是异步 IO。 一个典型的网络IO接口
阅读全文
摘要:I/O多路复用(I/O多路转接) I/O 多路复用使得程序能同时监听多个文件描述符,能够提高程序的性能,Linux 下实现 I/O 多路复用的 系统调用主要有 select、poll 和 epoll。 SELECT 首先要构造一个关于文件描述符的列表,将要监听的文件描述符加入到该列表中。 2.调用一
阅读全文
摘要:Makefile 文件命名和规则 文件命名:一个Makefile可以有一个或者多个规则 目标... :依赖 ... 命令 (shell命令) 目标:最终要生成的文件 依赖:生成目标所需要的文件或者是目标 命令:通过执行命令对依赖操作生成目标(命令前必须 Tab 缩进) Makefile 中的其它规则
阅读全文
摘要:GCC和G++的不同 后缀为.c的,GCC把它当作C程序;G把它当作c程序 后缀为.cpp的,两者都会把他认为是c++程序 编译阶段G会调用GCC,对于 C 代码,两者是等价的,但是因为 gcc 命令不能自动和 C++ 程序使用的库联接,所以通常用G来完成链接,但是也可以使用 gcc -lstdc。
阅读全文

浙公网安备 33010602011771号