- 博客(27)
- 收藏
- 关注
原创 【Linux/C++进阶篇(二) 】超详解自动化构建 —— 日常开发中的“脚本” :Makefile/CMake
本文系统讲解了Makefile和CMake在Linux/C++开发中如何使用及其重要性。Makefile作为自动化构建脚本,通过依赖关系检查和增量编译机制显著提升开发效率;CMake则作为跨平台构建工具,可生成多种平台的构建文件。文章详细讲解了二者的语法规则、常用指令和实际应用场景,并通过代码示例展示了从单文件到多文件项目的构建过程。对于Linux/C++开发者而言,掌握这两种工具是提升项目构建效率和管理复杂依赖关系的关键技能。
2026-02-02 20:05:05
1315
54
原创 【Linux/C++进阶篇 (一)】man手册、gdb调试、静态库与动态库
本文介绍了Linux/C++进阶编程中的关键工具和技术要点。主要内容包括:1)man手册的使用方法,用于查询系统函数和指令;2)GDB调试器的详细使用指南,包括启动、设置断点、单步执行等核心功能;3)动态库和静态库的创建与使用,重点分析了两者在链接方式、文件大小、内存占用等方面的核心区别。文章通过具体代码示例演示了文件操作、进程控制等系统调用的使用,并提供了静态库(.a)和动态库(.so)的完整制作流程。最后针对动态库加载问题给出了多种解决方案,推荐使用-Wl参数嵌入路径的工业级做法。
2026-01-29 19:23:48
910
44
原创 【计算机网络 | 第十一篇】计网之应用层(二)—— 万字解析 + 图解DNS、DHCP、HTTP2.0/3.0
本文系统讲解了计算机网络应用层的核心协议与最新发展。详细解析了DNS解析域名结构、服务器层级(根/顶级/权威/本地)和查询流程(递归/迭代/缓存)。DHCP实现动态IP分配及报文交互。HTTP演进:从HTTP1.x队头阻塞,到HTTP2.0二进制分帧、多路复用和头部压缩优化,再到HTTP3.0基于QUIC(UDP)解决TCP阻塞。文章通过技术演进逻辑,清晰呈现了网络协议如何持续优化以应对现代互联网的高并发、低延迟需求。
2026-01-25 16:50:09
3120
15
原创 【计算机网络 | 第十篇】计网之应用层(一)—— 万字解析+图解HTTP、WWW、Cookie和Session
本文系统讲解了计算机网络应用层的核心概念与技术要点。首先介绍了应用层协议的定义和作用,详细分析了客户-服务器和P2P两种体系结构的特点。重点剖析了WWW万维网的三大组成部分:URI/URL资源定位、HTML/CSS/JS文档规范以及HTTP传输协议。通过抓包实例展示了HTTP请求和响应的报文格式,深入解析了GET/POST方法、状态码和协议特征。针对HTTP无状态特性,详细阐述了Cookie和Session的工作原理及其安全性考量。最后介绍了Web缓存的实现机制及其性能优化价值,并提供了考研题目解析作为学习
2026-01-23 18:10:26
3783
27
原创 【计算机网络 | 第九篇】计网之传输层(三)—— TCP的拥塞控制与连接管理
本文系统讲解了TCP协议的拥塞控制机制和连接管理过程。在拥塞控制方面,详细介绍了慢启动、拥塞避免、快速重传和快速恢复四种核心算法,通过动态调整拥塞窗口大小来优化网络性能。在连接管理部分,深入解析了三次握手建立连接和四次挥手终止连接的完整流程,包括各阶段的报文交互和状态转换,并解答了“为何需要三次握手而非两次“、“为何要等待2MSL时间”等关键问题。文章通过示意图和考研真题辅助理解,帮助读者全面掌握TCP协议在网络传输中的核心机制
2026-01-21 10:43:15
4224
6
原创 【计算机网络 | 第八篇】计网之传输层(二)—— TCP的可靠传输与流量控制
本文介绍了TCP协议的可靠传输与流量控制机制。首先讲解了停止等待ARQ协议的基本原理及其超时重传机制,接着分析了连续ARQ协议结合滑动窗口协议如何提高传输效率。重点阐述了选择性确认(SACK)技术如何优化重传过程,以及流量控制的实现方式:接收方通过窗口字段控制发送速率。最后通过练习题演示了窗口大小调整对发送行为的影响。文章采用技术讲解结合图示的方式,系统性地阐述了TCP保证可靠传输的核心机制。
2026-01-19 17:47:40
1079
3
原创 【计算机网络 | 第七篇】计网之传输层(一)—— 传输层概述与协议头分析
本文详细介绍了计算机网络传输层的核心概念和协议。作者使用Wireshark抓包工具进行了实际案例分析,帮助读者更好地理解传输层协议的工作机制。传输层主要承担两大功能:为不可靠的网络层提供可靠传输,以及实现主机间应用进程的端到端通信。文章重点对比了TCP和UDP协议的特点:TCP提供面向连接的可靠传输,通过连接管理、确认机制等措施确保数据完整性;UDP则提供无连接的简单高效传输。文中还深入解析了端口号机制、TCP/UDP报文格式,包括序号、确认号、标志位等关键字段,并通过实例演示了TCP的可靠传输原理。
2026-01-18 21:30:15
2843
2
原创 【计算机网络 | 第六篇】计网之网络层
本文深入讲解了计算机网络中网络层的核心概念。首先比较了面向连接的虚电路服务和无连接的数据报服务两种网络层服务模式,重点分析了IPv4数据报格式及其关键字段:版本、首部长度、总长度、标识、标志、片偏移等。通过实际案例和考研题目,详细解析了数据包分片原理及片偏移计算方法。文章还介绍了TTL、协议字段等网络层协议的重要参数,帮助读者全面理解网络层在跨网络数据传输中的核心作用。适合计算机网络学习者深入了解网络层协议设计原理。
2026-01-16 21:21:26
1550
1
原创 【计算机网络 | 第五篇】计网之链路层
本文主要讲解了计算机网络中数据链路层的核心概念与技术要点。首先概述了数据链路层的定义和功能,包括物理链路与数据链路的区别。然后重点分析了链路层的三大问题:封装成帧(以太网V2和PPP帧结构)、透明传输(字节填充与比特填充)以及差错检测(CRC循环冗余校验原理)。文章详细解读了Ethernet V2标准的帧格式、长度规范(46-1500字节)和MAC帧协议,并介绍了PPP协议的基本概念与帧结构。最后提到了使用Wireshark进行网络抓包的注意事项,为后续网络层和传输层的学习奠定基础。
2026-01-15 19:28:41
1313
3
原创 【计算机网络 | 第四篇】路由与NAT技术
本文介绍了路由与NAT技术的核心内容。在路由部分,讲解了路由器在不同网段间转发数据的原理,包括静态路由和动态路由的区别及配置方法,并通过CiscoPacketTracer演示了多网段互联的实现过程。在NAT技术部分,阐述了公网与私网IP的区别,重点说明了NAT如何将私网IP转换为公网IP以实现互联网访问,并介绍了PNAT通过端口映射解决公网IP不足的问题。
2026-01-14 21:11:40
3365
1
原创 【计算机网络 | 第三篇】MAC地址与IP地址
本文详细讲解了计算机网络中MAC地址和IP地址的相关知识。MAC地址部分介绍了其48位格式特征、获取方式、ARP协议原理及缓存机制。IP地址部分阐述了其存在意义、IPv4地址表示方法(包括分类编址、子网划分和无分类编址),并深入讲解了子网掩码、超网构造和路由聚合等核心概念。文章通过实例分析和考研真题,帮助读者理解IP地址分配、子网划分等网络基础技术,为后续网络知识学习打下坚实基础。
2026-01-13 20:48:24
4185
4
原创 【计算机网络 | 第二篇】计算机组网模型
本文用Cisco Packet Tracer模拟器学习网络互联基础,保证质量的同时,又不让人感到乏味,涵盖直连计算机配置(IP设置、ping验证)、多设备互联方案对比(同轴电缆、集线器、交换机等),以及路由器跨网段通信(网关设置、ARP协议)。通过仿真演示数据转发流程,直观理解网络通信原理。
2026-01-12 18:25:57
3545
5
原创 【计算机网络 | 第一篇】计算机网络概述
本文介绍了计算机网络基础,包括网络、互联网、因特网的区别(因特网最大,用TCP/IP),OSI七层模型功能,电路交换与分组交换的比较(分组交换资源利用率高但有延迟),以及性能指标如速率、带宽等,系统梳理了协议、服务和分层体系结构。
2025-12-20 17:57:38
1409
1
原创 数据结构——红黑树
本文介绍了红黑树的基本概念、特性及其操作。红黑树是一种特殊的二叉搜索树,通过着色和旋转操作保持平衡,相比AVL树具有更好的动态性能。文章详细讲解了红黑树的插入和删除操作,包括红红节点处理、双黑节点调整等核心算法。最后比较了AVL树和红黑树的适用场景:频繁插入删除选择红黑树,频繁查找选择AVL树。全文通过实例图解和分步说明,系统性地阐述了红黑树的实现原理和应用价值。
2025-12-11 23:07:51
1640
4
原创 算法——排序(二)
本文详细介绍了堆排序、归并排序、计数排序和桶排序四种算法。堆排序利用大/小顶堆特性,通过元素上浮和下沉操作实现排序;归并排序采用分治思想,先分割后合并有序序列;计数排序通过统计元素出现次数实现非比较排序;桶排序则将数据分配到多个桶中分别排序。文章分析了各算法的核心思想、实现步骤及优化方法,并提供了相关代码实现。这些排序算法各具特点,适用于不同场景,共同构成了基础的排序算法体系。
2025-12-10 20:56:04
1103
1
原创 算法——排序(一)
本文介绍了交换排序(冒泡排序及优化、快速排序)和插入排序(直接插入、希尔排序)的原理、优化及复杂度被详细分析。冒泡排序通过标志位和边界优化提速;快速排序采用双边分区;希尔排序利用增量序列改进性能。对比最佳/最差场景后,指出快速排序和希尔排序的特定优势,并简介标准库中的应用场景。
2025-12-10 16:22:30
1121
1
原创 linux的常用指令(带讲解)
文章介绍了Linux五大类文件操作指令:文件目录操作(pwd、cd、mkdir、cp等)、查看操作(cat、more、less等)、时间指令(date、cal)、搜索查找(find、locate、grep)及压缩解压(gzip、zip、tar)。详细说明语法、选项和典型用法,如路径显示、目录创建、文本过滤等,并提供重定向、软连接等技巧示例,适合初学者快速掌握基础命令。
2025-12-09 22:04:02
1022
2
原创 数据结构——图(详解)
本文系统讲解图数据结构,涵盖基本概念(无向/有向图、连通性)、存储方式(邻接矩阵、邻接表等)、遍历算法(DFS/BFS)、最小生成树(Kruskal/Prim)、最短路径(Dijkstra)、拓扑排序及关键路径。采用C语言从底层实现并提供代码接口,帮助掌握图的理论与应用。
2025-12-02 23:09:03
2956
4
原创 数据结构——树(精讲)
本文系统介绍了树和二叉树的存储结构、遍历算法及其应用。主要内容包括:1. 树的三种存储方式(双亲表示法、孩子表示法、孩子兄弟表示法);2. 二叉树的性质、分类(满/完全/二叉搜索/平衡二叉树)及存储方式;3. 二叉树的四种遍历方法(先序/中序/后序/层次)及其递归与非递归实现;4. 线索二叉树的构建与遍历优化;5. 二叉搜索树和平衡二叉树的插入、删除等操作;6. 并查集和哈夫曼树的应用。文章采用C语言接口化实现,详细讲解了各类树结构的核心算法,并配有完整的测试代码。
2025-11-16 16:49:33
3573
1
原创 c++面向对象 多态
也是成功完结c++面向对象三个特性中的最后一个特性:多态。“多态”是指同一名字的事物可以完成不同的功能。基类指针指向基类对象时就使用基类的成员,指向派生类对象时就使用派生类的成员。,也可以按照派生类的方式来做事,它有多种形态,或者说多种表现方式,这种现象我们称之为”多态”。。倘若没有多态,那就只能访问成员变量。
2025-10-17 22:08:17
318
1
原创 c++面向对象 继承
在开篇我想讲讲继承的使用场景如果当新类与现有类内容非常相似,只是多出若干变量与函数,这个时候我们往往会用到继承。当遇见多个类相似的时候我们同样建议这么做。
2025-10-17 18:16:04
999
1
原创 c++面向对象 封装 及其部分基础
在c++中,定义类我们通常使用class关键字(c++中struct也可以定义类)。{}中为类的主体,其中的内容称之为类的成员:类中的变量被称为成员变量,类中的函数被称为成员函数。用类创建对象的过程,我们也称之为实例化。public://成员函数(默认为inline)private://成员变量int main()return 0;
2025-10-16 22:02:59
808
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅