进程
深入理解 Linux 进程的本质,涵盖 task_struct (PCB)、进程状态转换、fork 系统调用以及进程地址空间与写时拷贝原理。
总结 PATH、HOME、USER 等常见环境变量的作用,以及如何通过 C 语言 main 函数参数或 getenv 获取系统环境变量。
掌握 Makefile 的依赖关系与方法、伪目标 .PHONY、自动化变量 以及如何利用时间戳规则触发重新编译。
详细讲解预处理、编译、汇编、链接四个阶段,并对比动静态库(.so 与 .a)的优缺点及其对可执行程序的影响。
剖析 Bash 解释器的运行原理,深入探讨 Linux 权限位、粘滞位 (t)、umask 掩码以及目录权限的特殊规则。
解析力扣(LeetCode)热门题目“有效的括号”。本文阐述了如何利用栈(Stack)的后进先出特性实现符号匹配,并详细讨论了边界情况处理(如空字符串、单括号等),强调了在 C 语言中手动管理内存、防止内存泄漏的重要性。
本文详细讲解了堆的结构和操作用C语言的基本实现本文深入浅出地讲解了完全二叉树中的堆(Heap)结构。涵盖大堆与小堆的逻辑定义、基于数组的物理存储实现,以及核心算法——向上调整(AdjustUp)与向下调整(AdjustDown)的 C 语言代码详解。此外,文章还揭秘了时间复杂度为 O(N) 的高效建堆算法与堆排序原理。