自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 【Linux】线程同步与互斥

本文围绕 Linux 多线程中的同步与互斥展开,首先介绍共享资源、临界资源、临界区以及原子性等基本概念,分析多线程抢票产生的数据竞争问题。随后深入学习信号量与 `pthread_mutex_t` 互斥锁,理解锁的实现原理及临界区保护机制。在此基础上,引出线程同步与条件变量,掌握 `pthread_cond_wait`、`signal` 等接口的使用。最后结合生产者消费者模型和阻塞队列,理解互斥解决资源竞争、同步协调执行顺序的核心思想。

2026-09-10 19:38:54 380

原创 【Linux】线程与虚拟内存的底层世界

本文系统梳理 Linux 线程与内存管理的核心原理,从线程与进程的区别入手,介绍 task_struct、mm_struct 以及线程资源共享机制;进一步分析虚拟内存、页表、物理页、MMU 与 TLB 的作用,理解虚拟地址到物理地址的转换过程;最后结合 pthread、NPTL、clone 等内容,说明线程的创建、回收及其底层实现,加深对 Linux 线程与内存管理机制的理解。

2026-09-10 19:31:12 440

原创 【Linux】Ext系列文件系统

Linux 文件系统负责组织和管理磁盘中的文件,通过目录、inode 和数据块建立文件内容与属性的关联。内容重点介绍磁盘的物理结构、CHS/LBA 寻址、块与分区,以及 Ext2 文件系统中的超级块、GDT、位图、inode 和数据块。进一步讲解路径解析、dentry 缓存、挂载机制,以及软链接与硬链接的区别,并总结常用文件系统命令和文件系统与进程之间的关系。

2026-09-09 17:30:02 280

原创 【Linux】ELF、链接与动态库,程序装载全解析

这份内容系统梳理了 Linux 程序从源代码到可执行文件,再到进程运行的完整流程。重点介绍 ELF 文件结构、节与段、静态链接中的符号解析与地址重定位,以及动态链接中的动态库加载、PIC、GOT、PLT 和延迟绑定。同时结合虚拟地址空间,分析动态库从磁盘映射到内存及函数调用的全过程,并总结 `readelf`、`objdump`、`ldd` 等常用工具。

2026-09-09 17:26:44 341

原创 【Linux】动态库、静态库使用与原理

Linux 库是对成熟、可复用代码的封装,主要分为静态库和动态库。静态库以 .a 为后缀,由多个 .o 目标文件通过 ar 打包而成,在编译链接时将所需代码复制进可执行文件,运行时无需依赖原库。动态库以 .so 为后缀,通常使用 -fPIC 生成位置无关代码,再通过 -shared 创建,程序运行时由动态链接器加载并完成符号重定位。编译时通过 -I、-L、-l 指定头文件和库,运行时则通过系统目录、LD_LIBRARY_PATH 或 ldconfig 查找动态库。

2026-09-08 19:27:09 226

原创 【Linux】信号:内核的“敲门声”

本文系统梳理 Linux 信号机制,从信号的定义与异步通知特性出发,介绍键盘、系统调用、命令、硬件异常及软件条件等信号产生方式,并进一步分析信号的保存、阻塞、未决与递达过程;结合 `pending`、`block`、`handler` 和 `sigset_t` 等核心概念,说明 `signal`、`sigaction`、`sigprocmask`、`sigpending` 等接口的作用,同时深入理解信号捕捉、用户态与内核态切换、硬件中断、系统调用、可重入函数、`volatile` 以及 `SIGCHLD`

2026-09-08 19:10:01 276

原创 【Linux】虚拟地址空间解析

我们只需要根据内容生成一个摘要,不超过150字。直接总结核心概念:虚拟地址空间、页表映射、数据结构管理、好处。注意字数。</think>虚拟地址空间为每个进程提供独立内存抽象,通过页表与MMU映射物理内存,解决地址相同值不同的问题。内核用mm_struct和vm_area_struct描述管理区域,实现内存保护、隔离与灵活分配,支持写时拷贝、共享内存等高级特性,简化编程模型。

2026-09-07 21:16:28 484

原创 【Linux】进程退出、等待与程序替换

Linux进程控制主要涵盖三大核心机制:进程通过正常或异常途径终止并利用退出码向上级反馈执行结果,父进程必须借由阻塞或非阻塞(WNOHANG)的wait/waitpid函数回收子进程以解析其状态并彻底消除僵尸进程的资源泄露隐患,同时子进程在被创建后可利用exec系列函数(如execl、execvp等)在不改变自身PID的前提下覆盖加载全新的代码与数据,从而实现系统的程序替换与复杂任务分工。

2026-09-07 21:08:07 270

原创 【Linux】环境变量知识体系

Linux环境变量是系统运行时的关键配置,具有全局性和持久性,控制程序行为。常见的PATH、HOME等变量通过系统或用户配置文件加载。用户可通过export、unset等命令管理,程序则可用main参数、environ或getenv()读取。环境变量可被子进程继承,与仅当前shell生效的本地变量不同。

2026-09-06 20:30:28 160

原创 【Linux】权限管理

本文介绍了Linux权限管理核心:sudo进行临时授权,权限由角色(拥有者/组/其他)和读写执行属性构成,通过chmod修改权限,chown更改所有者;目录权限需注意执行位,粘滞位保护共享目录文件,umask控制默认权限。掌握这些可有效管理访问控制。

2026-09-06 20:25:12 218

原创 【算法】并查集(普通/扩展/带权)模板与例题

并查集是管理元素集合的高效结构,支持合并与查询操作。普通并查集通过路径压缩和按秩合并优化,用于连通性判定与集合计数。扩展域并查集将元素拆分为多个域(如敌人域),处理朋友-敌人等多关系问题,典型应用如关押罪犯问题。带权并查集维护节点间相对距离或差值,通过权值数组实现差分约束查询。三种变体各有侧重:普通版侧重连通性,扩展域处理二元对立关系,带权版维护数值关系。实际应用中,P1525关押罪犯采用扩展域并查集与贪心策略,优先拆分仇恨值高的罪犯对,当无法避免时输出当前最大冲突值,实现最小化最大怨气

2026-06-04 21:26:12 568

原创 【C++11 】Lambda 表达式、std::function 与 std::bind 解析

本文介绍了C++中三个重要的函数式编程工具: Lambda表达式:C++11引入的匿名函数,语法为capture-listmutable->ret{body},底层实现为仿函数类对象。支持按值/引用捕获外部变量,默认按值捕获变量不可修改(需加mutable)。 std::function:多态函数包装器,通过类型擦除技术统一处理普通函数、Lambda、仿函数等不同可调用对象。核心价值在于解耦网络层与业务层,并通过模板特化精准匹配函数签名R(Args...)。 std::bind:实现函数参数绑定,使用占位符

2026-06-03 20:52:11 1624

原创 【Linux 网络】:poll/epoll 底层机制与 Reactor 并发模型

本文介绍了I/O多路转接技术中的poll和epoll机制。poll通过参数分离设计和无上限限制改进了select的缺陷,但仍存在轮询开销和内存拷贝问题。epoll则通过三个核心接口(epoll_create、epoll_ctl、epoll_wait)和事件驱动机制,显著提升了大规模连接场景下的性能,解决了poll/select效率随fd增加而下降的问题。文章详细说明了相关数据结构、函数参数以及事件宏定义,并提供了poll监控标准输入的示例代码,帮助理解这两种I/O多路复用技术的实现原理与使用方式。

2026-06-02 20:57:17 3139

原创 【c++11】智能指针核心体系详解 (unique_ptr / shared_ptr / weak_ptr)

文章摘要:C++11引入的智能指针(unique_ptr/shared_ptr/weak_ptr)通过RAII机制解决了裸指针的内存泄漏和异常安全问题。unique_ptr实现独占所有权,禁止拷贝但支持移动;shared_ptr采用引用计数实现共享所有权;weak_ptr用于打破循环引用。推荐使用make_shared/make_unique替代new,既能提升性能又能避免异常安全问题。在项目选型时应优先使用unique_ptr,仅在需要共享时选择shared_ptr。这些智能指针是现代C++资源管理的核心

2026-05-31 17:35:34 1606

原创 【C++】二叉搜索树详解及其模拟实现(代码)

本文介绍了二叉搜索树(BST)的基本概念、性质及操作实现。主要内容包括: BST性质:左子树值小于等于根节点,右子树值大于等于根节点,左右子树也是BST 核心操作: 插入:根据值大小递归查找位置插入 查找:类似二分查找,时间复杂度O(logN)~O(N) 删除:分四种情况处理(无子节点、单子节点、双子节点) 性能分析:最优情况为完全二叉树O(logN),最差为单支树O(N) 与二分查找对比:BST插入删除效率高但不支持随机访问,二分查找需要有序数组但插入删除效率低 代码实现:提供了C++模板类实现,包含节点

2026-05-29 19:15:52 393

原创 【Linux】五种IO模型详解

本文摘要: 本文系统讲解了IO操作的本质与五种IO模型。IO的核心是等待和拷贝两个阶段,优化关键在于减少等待时间。五种模型包括:阻塞IO(默认方式)、非阻塞IO(需轮询,浪费CPU)、信号驱动IO(内核通知)、IO多路复用(同时等待多个fd)和异步IO(内核完成拷贝后通知)。 同步与异步关注消息通信机制(主动等待 vs 回调通知),阻塞与非阻塞关注等待时的线程状态(挂起 vs 立即返回)。通过fcntl函数可设置文件描述符为非阻塞模式,但需配合轮询机制避免CPU空转。 (字数:150)

2026-05-28 18:52:25 498

原创 【MySQL】常用约束语法总结

本文系统梳理了MySQL数据库中的各类约束命令,分为基础属性、唯一性标识和跨表参照三大类。基础属性约束包括非空约束(NOT NULL)、默认值(DEFAULT)、列描述(COMMENT)和格式化显示(ZEROFILL);唯一性约束涵盖主键(PRIMARY KEY)、自增长(AUTO_INCREMENT)和唯一键(UNIQUE KEY);跨表约束重点介绍了外键(FOREIGN KEY)的声明语法和使用场景。每种约束均给出概念解释、声明语法示例和验证命令,特别强调了主键的复合声明方式、自增长值的获取方法以及外键

2026-05-27 19:45:10 388

原创 【MySQL】常用命令总结(库与表增删查改)

MySQL常用命令速查手册 本手册提供了MySQL数据库操作的常用命令,涵盖登录退出、数据库管理、表操作、数据增删改查、用户权限管理以及数据导入导出等核心功能。手册以简洁的代码片段形式呈现,包含数据库创建/删除、表结构修改、CRUD操作、用户授权等实用命令,特别标注了危险操作(如不带条件的UPDATE/DELETE)以提醒使用者注意数据安全。同时提供了字符集设置建议和分页查询等实用技巧,适合开发者快速查阅日常所需的MySQL操作指令。

2026-05-27 19:38:31 108

原创 【MySQL】教你库与表的增删查改操作(基础)

本文介绍了MySQL数据库管理的基本操作,分为四个主要部分:1) 客户端连接与服务器管理,包括连接命令和线程状态查看;2) 数据库DDL操作,涵盖字符集设置、数据库创建/修改/删除以及备份恢复;3) 表结构操作,详细说明表创建、修改和删除语法;4) 数据操作语言(DML),重点介绍数据插入方法。文章提供了完整的命令原型和参数说明,强调了关键注意事项,如字符集影响、删除风险和备份恢复要点,适合作为MySQL基础操作的快速参考指南。

2026-05-25 20:31:18 601

原创 数据库基础与 MySQL介绍

本文摘要介绍了数据库基础概念与MySQL架构核心内容。主要内容包括:1) 数据库的定义及其相较于文件系统的优势;2) 主流数据库产品特点,如MySQL、Oracle等;3) MySQL的基本使用方法和服务器连接方式;4) MySQL的物理体系架构和核心组件;5) SQL语言的分类;6) MySQL存储引擎的类型及特点对比,重点分析了InnoDB和MyISAM的适用场景。文章通过问答形式深入探讨了技术选型考量,为数据库学习提供了系统性的入门指导。

2026-05-25 20:25:54 352

原创 【Linux 网络】带你理清 IP协议、子网划分与跨网路由

本文摘要: 本文系统介绍了Linux网络体系中的核心概念与技术实现。首先对比了OSI七层模型与TCP/IP四层模型的映射关系,重点阐述了网络层与传输层的功能差异。详细解析了IPv4报文头结构及各字段功能,包括分片重组机制与MTU限制问题。针对IP地址资源枯竭问题,分析了传统分类法的局限性,并介绍了CIDR无类别域间路由和子网划分技术。最后探讨了公私网隔离方案,包括ARP寻址机制和NAT地址转换技术。全文通过技术原理与实例相结合的方式,深入浅出地讲解了Linux网络通信的关键技术要点。

2026-05-21 18:14:35 1368

原创 【Linux 网络】一文读懂 HTTP 协议

本文系统总结了HTTP协议的核心网络基础知识。首先概述了HTTP无状态、无连接的C/S交互模型,并解析了URL的组成结构与编码原理。接着深入剖析了HTTP请求与响应的报文规范,指出其由首行、Header、空行和Body四部分构成。此外,文章还全面梳理了GET和POST等常用请求方法的使用场景、1XX至5XX核心状态码的分类与具体含义,最后汇总了Content-Type、Cookie及Keep-Alive长连接机制等高频Header属性的作用。内容详实清晰,是快速掌握Web通信原理与网络编程基础的实用参考指南

2026-05-20 20:44:36 2350 2

原创 【C++ 算法竞赛基础】数论篇:核心公式、经典例题与高频模板

本文介绍了基础算法中的最大公约数、最小公倍数、质数判定和筛法等内容。主要内容包括: 最大公约数(GCD)和最小公倍数(LCM)的概念及关系:gcd(a,b)×lcm(a,b)=a×b。重点讲解了欧几里得算法(辗转相除法)的实现,时间复杂度为O(log n)。 秦九韶算法:用于高效计算多项式值,特别适用于大数取模运算。 质数判定方法:通过试除法判断质数,只需检查到√n即可,时间复杂度O(√n)。 两种筛法求质数: 埃氏筛法:标记质数的倍数,时间复杂度O(n log log n) 线性筛法(欧拉筛):每个合数只

2026-05-17 20:12:24 481

原创 滑动窗口(同向双指针)算法:模板与例题解析

本文介绍了滑动窗口算法的核心思想及其应用,重点分析了两道典型例题的解题思路。 滑动窗口的核心在于维护一个合法窗口,通过右指针扩展、左指针收缩的方式高效求解问题。其模板包含四个步骤:进窗口、判断合法性、出窗口和更新答案。常见应用包括最长无重复子串等问题。 第一道例题P3143要求从钻石中选择两个展示柜,使总展示数量最大。正确解法是预处理前后缀最长合法子数组,通过枚举分割点求最优解,而非简单的贪心选择。 第二道例题P10710需要在多个班级中各选一名学生,最小化身高极差。解法是将所有学生排序后,用滑动窗口寻找包

2026-05-16 21:01:26 3346

原创 TCP(传输控制协议)核心机制与底层原理

本文系统介绍了TCP/IP协议栈的分层模型与核心工作机制。主要内容包括:1)TCP/IP五层模型及各层功能,重点分析传输层的双缓冲区机制与字节流管理;2)TCP报文首部格式详解,包括端口号、序列号、标志位等关键字段;3)流量控制原理与窗口机制;4)TCP连接的可靠传输机制,包括序列号、确认应答、超时重传等;5)连接管理中的三次握手与四次挥手过程,深入解析TIME_WAIT和CLOSE_WAIT状态的成因与解决方案。文章通过分层剖析和机制图解,全面阐述了TCP协议的核心技术原理与实现细节。

2026-05-16 19:28:44 1684

原创 单源/多源/01BFS:模板与01BFS例题解析

本文介绍了三种基于广度优先搜索(BFS)的算法变体及其应用场景。单源BFS适用于边权为1的最短路径问题,多源BFS用于处理多个起点的最近距离计算,01-BFS则通过双端队列优化0/1边权图的最短路径搜索。文章还提供了算法模板和典型例题,如P1948电话线问题,展示了二分答案与01-BFS结合的解题思路。这些算法在迷宫搜索、连通性分析等场景中具有广泛的应用价值。

2026-05-14 20:09:56 575

原创 UDP协议与网络通信知识点

高效轻量的UDP是一种面向无连接的传输协议,数据以独立报文形式发送,不需建立连接,因而具有传输开销小、速度快的特点。UDP不保证数据可靠到达,也不进行重传控制,因此适用于对实时性要求高、允许一定丢包的场景,如在线游戏、视频会议、语音通话、流媒体等。协议结构简单,仅包含源端口、目的端口、长度及校验和等字段,使其易于实现并能在多种网络条件下保持高性能。尽管缺乏顺序控制与拥塞管理,但在需要快速传输与低延迟的应用中,UDP凭借其灵活可靠的特性仍被广泛采用,是现代网络通信中不可或缺的重要组成部分。

2026-05-13 20:54:02 1507

原创 线性DP三大题型模板:最长上升子序列&最长公共子序列&字符串A->B (附例题)

本文介绍了动态规划(DP)的基本概念和常见应用。主要内容包括: 线性DP:通过一维/二维数组存储状态,具有最优子结构和重叠子问题特性,提供基础代码模板及分析。 经典问题解法: 最长上升子序列(LIS)的O(n²)和O(nlogn)两种实现 最长公共子序列(LCS)的双字符串匹配策略 字符串编辑距离的最小操作计算 应用示例:以打鼹鼠问题为例展示DP的实际应用。全文通过清晰的代码实现和状态转移分析,系统讲解了动态规划的核心思想和典型解题方法。

2026-05-12 20:04:12 5346

原创 速通蓝桥杯省一: 前缀和&差分(附经典例题)

本文系统总结了**前缀和**与**差分算法**的核心原理及实战应用。前半部分阐述了两者“空间换时间”的思想:前缀和利用累加预处理将**区间查询**优化至 $O(1)$,而差分作为前缀和的逆运算,将**区间批量修改**的复杂度降至 $O(1)$,并配以详尽的一维与二维推导模板。后半部分结合经典例题,深度剖析了算法的进阶“组合拳”:1. **差分 + 前缀和**:高效处理并还原高频区间操作后的数组状态;2. **正负抵消 + 前缀和 + 哈希表**:利用数值转换完美解决 0/1 平衡计数及最长子区间问题;

2026-05-11 20:37:05 709

原创 速通蓝桥杯省一:二分算法

二分算法是蓝桥杯中最稳定、最高频、性价比最高的拿分手段之一。只要题目存在“二段性”——即某个性质在区间上呈现“前一段满足、后一段不满足”或相反的形式,就可以用二分在对数时间内快速锁定答案。掌握二分的核心不是背模板,而是判断答案的单调性,并合理设计 check 函数,让区间不断向答案逼近。二分主要分为两类:查找左端点(满足条件的最小下标)和查找右端点(满足条件的最大下标),根据二段性方向即可一眼选模板。灵活运用这两类模板,可以解决查找位置、最值、决策类等多种题型。熟练掌握二分,蓝桥杯省一将多一道稳定保险。

2026-05-09 20:29:14 3326

原创 手撕高精度算法:模拟竖式轻松过题

高精度算法用于处理超大数值运算,通过字符串存储和数组模拟实现加减乘除。核心步骤包括:字符串逆序存储、逐位运算、进位/借位处理以及前导零去除。加法采用逐位累加进位;减法需先比较大小并处理借位;乘法使用无进位相乘再统一处理进位;除法则从高位开始逐位计算商和余数。这些算法本质上是模拟小学竖式计算过程,适用于超出常规数据类型范围的精确计算。

2026-05-08 18:22:40 273

原创 遍历是是形式,搜索是目的:深度优先搜索DFS全部知识点与经典例题,助你备战算法竞赛

本文从 DFS 出发,系统讲解搜索与回溯的核心思想。我们将搜索视为“找到目标的过程”,遍历是形式,搜索是目的;回溯负责在错误路径上及时返回;剪枝通过提前排除不可能的选择,大幅减少计算量;记忆化则记录状态结果,避免重复搜索。文章结合典型代码框架,逐步展示如何在实际问题中利用框架、回溯、剪枝和记忆化构建高效搜索。适用于算法入门、竞赛训练与实战提升。

2026-05-08 18:08:01 1923

原创 【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal

本文介绍了两种最小生成树算法:Prim算法和Kruskal算法。Prim算法采用加点策略,通过邻接矩阵实现,适合稠密图,时间复杂度O(n²);Kruskal算法采用加边策略,使用边集数组和并查集,适合稀疏图,时间复杂度O(mlogm)。两种算法在实现方式、数据结构和适用场景上各有特点:Prim需要维护顶点距离,Kruskal需对边排序并检查连通性。选择时,边数多用Prim,边数少用Kruskal。两种算法都能有效求解连通带权无向图的最小生成树问题。

2026-05-07 20:59:17 203

原创 深度剖析 Linux 环境变量:从底层原理到 C++ 编程实践

Linux环境变量摘要 环境变量是Linux系统中用于配置运行环境的重要机制。PATH变量定义了可执行文件的搜索路径,USER、HOME等变量存储用户信息,LD_LIBRARY_PATH指定库文件位置。变量可通过export设置,env命令查看,并存储在/etc/profile等配置文件中永久生效。程序中可通过main()参数、environ全局变量或getenv()函数获取环境变量。关键特性包括:继承性(父进程变量传递给子进程)、全局性(影响整个系统或用户会话)以及持久性(通过配置文件保存)。环境变量与本

2026-05-07 20:54:23 1617

原创 Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法

本文深入剖析了 Linux 进程管理的核心机制。首先,阐述了**进程优先级**的内涵,明确了 PRI 与 NI 值的计算关系及调整方法。其次,揭秘了**进程切换**的底层逻辑,解析了如何通过 `task_struct` 中的任务状态段(**TSS**)保存与恢复硬件上下文。最后,详解了 **O(1) 调度算法**,通过活跃与过期双队列及位图设计,实现了常数时间的快速调度,并探讨了如何通过动态调整解决进程饥饿问题。全文从概念到内核结构体,层层递进地展示了分时操作系统实现公平与高效调度的技术方案。

2026-04-29 12:01:40 2065

原创 算法:图的基本概念

摘要:本文介绍了图论中的基本概念分类。首先区分了有向图和无向图的定义与表示方式,然后解释了自环、重边等特殊结构,以及稠密图与稀疏图的相对概念。接着阐述了顶点度数的计算方法(包括入度和出度),路径的定义及其长度计算方式(分无权图和带权图)。在连通性方面,详细说明了连通图、非连通图和连通分量的定义,并给出了计算连通分量数的公式。最后介绍了生成树的定义、性质(包含全部顶点、n-1条边、连通无环)和关键特性(极小的连通性和添加边会形成回路)。

2026-04-29 11:56:59 226

原创 Git 核心指令速查

Git版本控制基础摘要:Git包含工作区、暂存区和本地仓库三个工作区域。核心命令包括clone克隆仓库、add添加文件、commit提交更改、push推送远程、status查看状态和log查看历史。Git适合管理源代码及其变更,但应通过.gitignore排除编译产物、日志等文件。当出现推送冲突时(因远程更新),需先执行git pull同步再push。基本流程为:修改→add→commit→push,保持本地与远程同步。

2026-04-28 09:32:12 72

原创 进程状态流转的本质:Linux 内核队列与底层数据结构解密

本文摘要了Linux进程状态的理论模型与实际实现。理论模型包含运行、就绪、阻塞、结束等基本状态,以及挂起状态;Linux内核则定义了7种具体状态(R运行、S休眠、D磁盘休眠、T停止等)。进程状态变化本质上是进程在不同队列(运行队列、设备等待队列)间的流动。文章详细解释了僵尸进程的危害和孤儿进程的处理机制,并介绍了Linux内核中通过Slab分配器高效管理进程控制块的方法。最后说明了Linux如何通过通用链表结构和"先描述再组织"原则管理设备与进程。

2026-04-28 09:31:49 2235

原创 【Linux 笔记】GDB 调试速查手册

GDB调试工具使用指南 本文介绍了GDB调试工具的基本使用方法。主要内容包括: 两种编译模式:Release模式(默认)和Debug模式(带-g选项),后者支持调试 基本命令:启动(gdb binFile)、退出(quit)等 核心调试功能: 代码查看(list) 执行控制(run/next/step) 断点管理(break/info break) 变量操作(print/set var) 调用栈分析(backtrace) 变量跟踪(display)

2026-04-27 20:34:19 273

原创 Linux 进程探索:从 PCB 管理到 fork() 的写时拷贝

本文深入解析 Linux 进程的生命周期与管理逻辑。首先阐明进程是“内核数据结构+代码数据”的结合体;其次介绍通过 /proc 系统及 getpid 监控进程的方法;重点探讨了 fork() 系统调用“一次调用、两次返回”的奇妙特性;最后揭示了写时拷贝(COW)技术如何在保障进程独立性的同时,实现内存分配与创建效率的最优平衡。

2026-04-27 20:30:17 5065

数据在内存中存储.md

数据在内存中存储.md

2025-11-09

双指针(同向双指针).md

双指针(同向双指针).md

2025-11-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除