- 博客(78)
- 收藏
- 关注
原创 Linux动静态库开发基础:静态库与动态库的编译构建、链接使用及问题排查
本文介绍了Linux C/C++开发中静态库和动态库的原理与应用,重点讲解了静态库的制作与使用流程。作者通过实例演示了从编写源代码到生成静态库的全过程,包括头文件编写、编译生成.o文件、打包成.a文件以及目录结构组织。同时详细说明了使用者如何正确链接静态库,包括解决头文件路径问题、静态库路径指定方法以及常见错误分析。文章还提供了简化编译选项的多种方案,如使用软链接和makefile自动编译。最后探讨了静态库中全局变量myerrno的使用问题,为开发者提供了实用的库文件管理技巧。
2025-09-14 16:25:25
1303
51
原创 Linux 库开发入门:静态库与动态库的 2 种构建方式 + 5 个编译差异 + 3 个加载技巧,新手速看
本文探讨了Linux中静态库(.a)与动态库(.so)的权限差异及程序加载机制。静态库在编译时被完整拷贝到可执行文件中,运行时无需访问原库文件,故不需要可执行(x)权限;动态库需在运行时加载执行,必须具有x权限。文章通过实例演示了删除静态库不影响已编译程序的运行,而删除动态库会导致程序崩溃。最后解析了程序从磁盘加载到内存的地址转换过程,包括虚拟地址与物理地址的映射关系,以及CPU通过MMU执行指令的流程。这些底层机制解释了静态库和动态库在权限要求与程序依赖上的本质区别。
2025-09-14 16:21:41
830
27
原创 炸裂!inode 竟是文件的 “赛博灵魂”,Block 在磁盘里藏着亿级数据的狂野密码
本文深入剖析Linux文件系统底层原理,从硬件结构到文件系统实现,帮助初学者突破"知其然不知其所以然"的困境。主要内容包括:1)磁盘物理结构解析,包括盘面、磁道、扇区等核心概念;2)ext2文件系统设计,详细讲解Block Group、超级块、inode等关键组件;3)文件存储机制,区分文件属性与内容的存储方式,重点解析硬链接与软链接的本质差异(共享inode vs 独立inode)。通过"实操+原理"的方式,揭示Linux存储系统从磁盘到内存的全链路工作机制,助力读
2025-09-08 21:27:37
1065
40
原创 炸了!Linux 文件操作的 “终极密码”:缓冲区是 “数据客栈”,描述符是 “通关密匙”,连 C 库都在偷偷这么玩!
摘要:本文通过5组代码实验对比分析了Linux文件操作中缓冲区与文件描述符的关键机制。实验发现:1)C语言接口使用用户级缓冲区,而系统调用write直接操作内核缓冲区;2)显示器输出采用行缓冲,文件输出采用全缓冲;3)缓冲区的刷新策略受\n、进程终止和close操作影响。文章还模拟实现了C文件标准库的核心功能,揭示了从用户缓冲区到系统调用的数据流转过程,帮助开发者深入理解Linux文件I/O的底层原理。
2025-09-08 21:26:09
1866
49
原创 救命!Shell用了100次还不懂底层?爆肝300行代码从0造“壳”,fork/exec/重定向全扒光,Linux系统编程直接开挂!
本文介绍了一个简易Linux Shell的实现,涵盖命令行交互、进程管理、重定向等核心功能。通过拆解代码,展示了如何从用户输入到命令执行的全流程,包括提示符显示、内建命令处理、fork/exec机制以及重定向原理。该Shell支持基础命令执行、cd/echo等内建命令,以及输入输出重定向功能,适合理解Shell底层工作机制。文章还提供了编译运行方法和关键代码解析,帮助读者从零构建一个简易Shell。
2025-09-04 12:16:36
905
48
原创 惊!printf 不往屏幕输?都是 fd 在搞鬼!爆肝拆解 Linux 文件描述符 + 重定向底层,学会直接在终端横着走
本文是一篇Linux文件操作入门指南,从基础概念、C语言文件接口到系统调用层层深入。文章首先阐明"文件=内容+属性"的本质,区分打开与未打开文件的状态。通过代码示例详细讲解fopen、fwrite等C文件操作函数,演示w/a模式的区别及文件权限设置。特别解析了进程当前路径(cwd)概念及chdir修改方法,并对比echo重定向原理。最后引入文件描述符核心机制,说明Linux默认打开的3个标准流(stdin/stdout/stderr)及其底层实现,为后续深入系统调用奠定基础。全文配有清晰
2025-09-04 12:15:42
1411
36
原创 Linux 进程管理天花板!一篇吃透 “进程创建 - 终止 - 回收” 全流程,写时拷贝、非阻塞等待全揭秘
本文以Linux进程管理为核心,从实操角度解析进程创建、终止与等待三大关键环节。通过fork函数演示父子进程创建机制,详解写时拷贝技术原理;分析进程退出的三种场景及退出码机制,演示如何通过exit()和_exit()终止进程;重点讲解wait/waitpid解决僵尸进程问题的方法,并附代码示例说明父子进程调度顺序。文章以"代码+截图+原理"的方式,帮助Linux初学者快速掌握进程管理核心逻辑,适合具备基础命令使用经验的开发者进阶学习。
2025-08-30 10:55:20
1758
65
原创 炸裂!Linux 程序员必看的 “进程换装秀”:exec 换程序如换衣服,PID、父子关系、env 一个都不丢,绝了!
本文聚焦 Linux 进程程序替换:fork 子进程后,exec 系列函数可覆盖进程用户空间代码与数据,从新程序启动例程执行,PID、父子关系不变,exec 仅失败返回-1。文中梳理 7 个 exec 接口差异(以 l/list 列参数、v/vector 传数组、p/path 搜 PATH、e/env 自定义环境变量区分),验证写时拷贝保护父进程代码,揭示环境变量被子进程继承且不随替换丢失,还含跨语言调用、脚本执行案例。
2025-08-30 10:16:48
2353
35
原创 Linux进程管理天花板教程:从kill命令暴力清场到 fork 逆天分身,7种状态拆解 + 优先级拿捏,吃透这些直接玩转内核调度!
本文介绍了Linux进程管理的核心知识,包括进程终止(kill命令)、系统调用(getpid/getppid/fork)、进程状态与优先级调整等。重点讲解了fork创建子进程的原理:通过复制父进程PCB、共享代码段、写时拷贝数据实现进程独立性。分析了fork返回不同值的意义,以及父子进程执行流程的调度机制。文章结合实操演示,帮助初学者理解进程创建、运行和管理的底层逻辑,为掌握Linux系统编程奠定基础。
2025-08-26 11:54:58
1048
45
原创 栈区反向排队、堆区疯狂 “长高”!Linux 程序地址空间布局暴击解析,const 只读区 “焊死数据” 的狠活太绝了!
本文聚焦 Linux 环境变量与程序地址空间核心知识。环境变量以name=value形式提供全局配置,详解 PATH(命令搜索路径)、HOME(用户主目录)等变量,说明 export 将本地变量转为环境变量、避免覆盖 PATH 的方法,及内置命令(如 cd,不创子进程)与常规命令(如 ls,依赖子进程)的差异。地址空间部分解析布局(栈向低地址、堆向高地址增长,代码区只读),通过写时拷贝讲虚拟地址与物理地址映射,及页表的权限管理与惰性加载。结合实操与原理,助理解 Linux 程序运行机制。
2025-08-26 11:50:36
1090
22
原创 C 语 言 终 端 炫 彩 魔 术 手:从 8 色 到 24 位 真 彩 全 解 锁,ANSI 转 义 序 列 神 级 秘 籍 让 你 的 输 出 亮 瞎 屏 幕!
本文介绍了在C语言中使用ANSI转义序列实现终端彩色输出的方法。主要内容包括:基本格式(\033[参数;...m)、文本颜色(8/16色前景色)、背景颜色、文本样式参数(加粗/斜体/下划线等)、24位真彩色(RGB)设置方法,以及不同系统(Linux/macOS/Windows)的兼容性说明。文章提供了完整代码示例,并强调了必须用\033[0m重置样式、部分终端支持有限等注意事项。适用于需要在命令行界面实现彩色输出的开发者。
2025-08-19 22:56:23
1642
56
原创 别 再 只 看 进 度 条 动 了!这 波 操 作 直 接 扒 光 冯 诺 依 曼 架 构 底 裤,连 task_struct 都 给 你 撕 得 明 明 白 白 !
本文从Linux第一个小程序"进度条"入手,介绍了回车换行与缓冲区的概念,并通过代码示例展示了缓冲区刷新机制。文章详细讲解了两种实现进度条的方法:第一种采用直接填充方式,第二种通过回调函数实现多任务进度显示。两种方法都利用fflush刷新缓冲区和回车符实现动态效果,帮助初学者理解Linux系统编程中I/O操作的基本原理。文末附有完整代码和GIF效果演示,为Linux编程入门提供了实用范例。
2025-08-19 22:54:13
979
33
原创 256 天 创 作 纪 念:从 128 天 的 萌 芽,到 技 术 分 享 的 复 利 效 应
本文总结了作者在技术博客创作256天的成长历程。数据对比显示,从128天到256天,文章数量从24篇增至64篇,阅读量增长2.8倍,互动量显著提升。平台授予的"笔耕不辍"、"勤写标兵"等勋章见证了坚持的力量,而等级从Lv5升至Lv6则体现了内容质量的提升。多篇文章登上专业领域精品榜,单篇最高获1.3k阅读量,并被开发者社区收录。作者从最初的忐忑不安到获得读者2,324次点赞、806条评论的认可,实现了从"怕没人看"到"盼被需要"
2025-08-15 00:49:12
1042
46
原创 爆 肝 300 小 时 整 理 的 Linux 工 具 秘 籍!从 安 装 到 编 译,一 篇 吃 透 yum/vim/gcc/make,小 白 秒 变 大 神,操 作 猛 如 虎!
本文介绍了Linux系统中yum软件包管理工具和vim编辑器的使用技巧。主要内容包括:1)yum的基本操作,如安装/卸载软件(需root权限)、处理依赖关系,推荐安装rzsz、sl、cowsay等实用工具;2)vim的多模式操作,详细说明命令模式的光标定位(gg/G/nG)、复制粘贴(yy/p)、撤销(u)等快捷键,以及插入模式和底行模式的切换方法。文章通过具体指令和图示,帮助Linux初学者快速掌握软件安装与文本编辑的核心技能,提升操作效率。
2025-08-15 00:46:17
1432
32
原创 Linux 命 令 界 的 “王 炸 组 合”!Gitee 提 交 + 权 限 控 制 + 热 键 神 操,学 会 直 接 霸 屏 终 端!
本文涵盖 Gitee 提交、时间命令、权限控制等 Linux 核心操作,拆解场景与逻辑,助你轻松掌握命令与权限奥秘。
2025-08-11 12:08:04
2791
49
原创 别 再 当 Linux 小 白!吃 透 这 些 命 令,从 “懵 圈” 到 “狂 炫” 只 需 这 一 篇,操 作 猛 如 虎!
本文从操作系统基础讲起,详解 Linux 常用命令、用户管理及文件系统,附实操示例,助新手快速掌握命令行操作,夯实 Linux 入门基础。
2025-08-11 11:58:51
1334
31
原创 逆 天!这 玩 意 儿 从 没 人 看 好 到 霸 占 90% 超 级 计 算 机,Linux 的 野 望:连 你 家 冰 箱 都 得 听 我 的!
本文追溯 Linux 从 1991 年芬兰学生项目起步的历程,解析主流发行版,详解环境搭建,展现其从边缘到统治多领域的开源传奇。
2025-08-06 10:50:53
1346
46
原创 飞 算 JavaAI 解 析:有 了 它,麻 麻 再 也 不 用 担 心 我 不 会 写 代 码 了!
飞算 JavaAI 是专注 Java 领域的 AI 开发工具,介绍其功能、安装、使用,对比其他工具,体验显示能提升开发效率,有实用价值。
2025-08-06 09:10:33
1270
27
原创 封 神!vector 用 连 续 内 存 玩 出 花,迭 代 器 再 狂 也 得 服 - - - 这 才 是 容 器 界 的 真・大 佬!
本文深入解析C++中vector容器的核心特性与使用方法。vector作为动态数组容器,通过连续内存实现高效访问与动态扩容,完美解决静态数组大小固定的问题。文章详细介绍了vector的定义、三种遍历方式、插入字符串方法、构造函数使用以及与string的区别。重点讲解了sort算法的三种排序方式(升序、降序、反向迭代),并提供了完整的代码示例。此外,还对比了vector与string在用途、元素类型和内存管理上的差异,帮助开发者全面掌握这一重要容器的原理与实践应用。
2025-08-03 13:15:20
1070
43
原创 谁 与 争 锋?list 凭 双 向 循 环 链 表 制 霸 插 删 场,迭 代 器 一 个 滑 步 甩 vector 十 条 街!
本文围绕 C++ STL 中的 list 容器展开,详细解析其底层结构与核心特性。
2025-08-03 13:13:29
1072
28
原创 逆 天!从 STL 到 string,这 波 字 符 串 神 操 作 直 接 让 编 译 器 跪 了 - - - 程 序 员 必 学 的 开 挂 级 技 巧
这篇文章介绍了C++ STL中string类的使用技巧和STL基础知识。
2025-07-28 18:25:22
1390
55
原创 震 惊!string 类 底 层 代 码 全 解 析,看 完 你 会 怀 疑 自 己 以 前 学 了 假 的 C++!
本文将深入解析C++标准库string类的底层实现原理,通过手动模拟实现string类来理解动态内存管理、类设计核心逻辑。文章从string类的基础结构出发,详细拆解构造、拷贝、扩容等功能的底层实现,重点解析浅拷贝与深拷贝等关键概念。内容包括构造函数与析构函数的实现细节、内存分配策略、拷贝构造函数的深拷贝实现方式,以及如何通过写时拷贝优化性能。通过本文,读者将能从"会用"进阶到"懂原理",掌握string类的核心设计思想和实现技巧。
2025-07-28 18:23:22
1241
26
原创 掌 握 模 板 与 内 存 管 理,你 就 是 下 一 个 C++ 编 程 大 神!代 码 冗 余?内 存 泄 漏?不 存 在 的!
本文讲解 C++模板,包括函数模板和类模板,介绍其定义、用法及实例化。
2025-07-21 14:30:22
1562
64
原创 震 惊!90% 的 程 序 员 都 不 知 道 的 new / delete 底 层 黑 幕
本文解析C++内存管理,从C的malloc到C++的new/delete,拆解底层逻辑及与构造/析构协同,规避内存泄漏。
2025-07-21 14:28:42
1108
28
原创 绝 了!这 6 个 C++ 默 认 函 数 堪 称 “类 的 灵 魂 工 程 师“,不 懂 它 们 等 于 白 学 面 向 对 象!
C++类的6个默认成员函数是面向对象编程的核心机制,包括构造函数、析构函数、拷贝构造、赋值重载等。这些函数由编译器自动生成,负责对象的创建、初始化、销毁和复制等基础操作。构造函数确保对象正确初始化,析构函数自动清理资源,拷贝构造和赋值重载处理对象复制逻辑。掌握这些默认函数的工作原理对编写健壮的C++代码至关重要,它们决定了类的基本行为模式,是理解面向对象编程的关键所在。
2025-07-16 11:01:23
1271
50
原创 横 扫 C++ 核 心 概 念:初 始 化 列 表 + static + 友 元 + 内 部 类,轻 松 碾 压 面 试 难 题!
本文讲解 C++ 类与对象核心扩展概念,包括构造函数及初始化列表、explicit、static、友元函数、内部类和匿名对象等。通过实例解析其特性与用法,助读者掌握以应对面试及编写高质量代码。
2025-07-16 10:58:56
1205
35
原创 C++神级特性爆肝解析:函数重载 + 引用 + 内联函数 + auto+nullptr,吃透这些让面试官跪着求你入职!
这篇博客介绍了C++的函数重载、引用、内联函数、auto以及nullptr
2025-07-07 22:39:56
1301
52
原创 炸 裂 干 货!类 与 this 指 针 的 深 度 耦 合,让 面 向 对 象 代 码 直 接 “起 飞”!
这篇博客介绍了C++类、面向对象,以及this指针
2025-07-07 22:37:24
1113
18
原创 掌握这七大核心排序,让你的代码效率狂飙 300%,面试官看了都直呼内行!
本文系统梳理了插入排序、希尔排序、选择排序、快速排序、归并排序等七大核心排序算法,从算法思想、代码实现、复杂度分析到稳定性展开全方位解析。
2025-06-29 16:07:40
1107
40
原创 C++ 神 级 入 门 指 南:命 名 空 间 + IO 流 + 缺 省 参 数,面 试 通 关 就 靠 这 篇
本文先简述其定义与发展历程,接着重点解析关键字、命名空间、输入输出机制(cout、cin、endl 及浮点数精度控制)、缺省参数(分类与规则)等内容。
2025-06-29 16:03:38
1151
20
原创 刷爆 LeetCode 的二叉树通关秘籍:单值树 + 子树判断 + 遍历绝杀三连,看完直接拿捏大厂笔试题
这篇博客主要介绍了3道关于二叉树经典的题目
2025-06-21 12:07:55
1122
22
原创 LeetCode 算 法 实 战 - - - 有 效 的 括 号、用 队 列 实 现 栈、用 栈 实 现 队 列 和 设 计 循 环 队 列
这篇博客主要讲了4道关于栈和队列的经典题目
2025-06-17 11:27:54
1014
22
原创 链 表 类 型 全 面 总 结:单 向、双 向、循 环 链 表 的 特 性 与 选 型 指 南
这篇博客主要讲了双向循环链表以及对链表进行总结
2025-06-11 22:16:49
1227
3
原创 带 环 链 表 深 度 解 析:弗 洛 伊 德 判 圈 算 法 的 数 学 逻 辑 与 代 码 实 现
这篇博客主要介绍了带环链表以及弗洛伊德算法的数学逻辑,还有一些常用的结论
2025-06-07 19:20:17
951
9
原创 LeetCode 算 法 实 战 - - - 移 除 链 表 元 素、反 转 链 表
这篇博客主要介绍了如何解决leetcode中的移除链表元素和反转链表这两道题
2025-05-31 09:39:33
970
16
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人