

**引言:**IO 是 Linux 系统性能的核心瓶颈之一,所有 IO 操作本质上都离不开'等待'与'拷贝'两个关键步骤。在五种经典 IO 模型中,非阻塞 IO 以'轮询'打破传统阻塞限制,多路转接 IO 凭'多文件描述符监听'实现高效等待,二者凭借独特的工作逻辑,成为高并发、低延迟场景的核心选择。
【一】CMake 替代 Make
理解:CMake 中输入目标和源文件,可以自己调用 make 生成,更加简化,主流。
使用方法:
(1)安装 CMake
# Ubuntu/Debian sudo apt update && sudo apt install cmake -y
# 验证安装(显示版本即成功)
cmake --version
(2)准备构建目录
因为 CMake 会产生一堆副文件,避免污染重要目录的源码,比如创建一个名为 build 的目录。
(3)构建流程
在需要生成的源码同目录下创建 CMakeLists.txt 文件,添加下面的代码内容:
第一行直接复制,第二行和第三行按照对应情况修改即可。
# 最低 CMake 版本要求(根据自己安装的版本调整,比如 3.10)
cmake_minimum_required(VERSION 3.10)
# 项目名(随便取,比如 myapp)
project(myapp)
# 生成可执行文件:可执行文件名为 myapp,编译的源文件是 main.c
add_executable(myapp main.c)
(4)构建结果
例如:用 cmake 指令调用 CMakeLists.txt 文件会直接生成 makefile 文件,再手动 make 指令。


**如果要生成多个可执行程序:**如果修改了源码,再重新 make /make clean 即可,和之前一样。






