跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
重置
编程语言 / C

标签

全部标签AIGPT-image-2javaNode.jsNuctPayPPT制作React NativeRNSaaSVScodeWeChat大前端算法

分类

全部分类
编程语言
PythonJavaScriptTypeScriptJavaKotlinGo / GolangRustC++CC#F#PHPRubySwiftObjective-CScalaClojureElixirErlangHaskellDartLuaPerlRJuliaMATLAB / OctaveSQLShell / BashPowerShellHTML / CSSZigNimCrystalGroovyVisual Basic .NETSolidity汇编

排序

最新更新最新发布最多浏览最多点赞
Linux TCP 协议详解:报文结构、连接状态与流量控制
C算法

Linux TCP 协议详解:报文结构、连接状态与流量控制

TCP 协议作为传输层核心,通过报文格式中的序列号、确认应答及校验和保障可靠性。文章详解三次握手建立连接与四次挥手断开连接的机制,分析 TIME_WAIT 与 CLOSE_WAIT 状态成因。重点阐述滑动窗口实现流量控制,慢启动与拥塞避免应对网络拥塞。此外涵盖延迟应答、捎带应答优化效率,以及面向字节流导致的粘包问题处理方案。

Elasticer发布于 2026/3/16更新于 2026/4/254 浏览0 点赞约 58 分钟阅读
C 语言快速排序详解:从基础到非递归实现
C算法

C 语言快速排序详解:从基础到非递归实现

快速排序作为 C 标准库内置的高效排序算法,其核心在于分治思想与基准值选取。详细拆解了 Hoare 分区方案的实现逻辑,通过双指针扫描完成区间划分。针对极端数据场景,阐述了三数取中法如何规避最坏时间复杂度,以及小区间内采用堆排序替代递归的优化策略。此外,还展示了利用显式栈模拟递归调用的非递归实现,有效防止深层递归引发的栈溢出问题。内容包含完整代码示例与关键步骤注释,便于理解算法演进过程。

战神发布于 2026/3/16更新于 2026/4/251 浏览0 点赞约 18 分钟阅读
C

STM32 HAL 库 UART 的 DMA 双缓冲与半传输中断应用

STM32 HAL 库中 UART 通信利用 DMA 双缓冲机制与半传输中断,可显著提升工业自动化系统的实时性与可靠性。双缓冲允许 CPU 在处理已接收数据的同时继续接收新数据,避免竞争条件。半传输中断在传输完成一半时触发,支持数据预处理,降低延迟。配置需根据数据流量调整缓冲区大小,并结合硬件滤波与软件校验确保传输安全。该方案适用于流水线控制、多轴运动协调及实时监控等场景。

内存管理发布于 2026/3/16更新于 2026/4/2511 浏览1 点赞约 5 分钟阅读
C算法

数据结构:C 语言单链表实现与原理

单链表是一种物理存储非连续的线性表结构,通过指针连接逻辑顺序。详细讲解了 C 语言下单链表的模拟实现,包括尾插、尾删、头插、头删、查找、插入及删除元素等操作接口。同时对比了链表与顺序表在存储结构、基本操作(创建、销毁、增删、查找)上的差异,指出链表适合频繁增删场景,而顺序表适合查询较多场景。代码示例涵盖了节点定义、内存管理及核心算法如链表逆置。

虚拟内存发布于 2026/3/16更新于 2026/4/2412 浏览3 点赞约 13 分钟阅读
Linux 进程信号的产生机制
C

Linux 进程信号的产生机制

Linux 进程信号是操作系统通知进程发生特定事件的一种机制。信号产生方式包括键盘组合键、系统命令、系统调用、程序异常及软件模拟。进程收到信号后可执行默认动作、忽略或自定义处理函数。其中 SIGKILL 和 SIGSTOP 不可被捕捉。通过 signal 接口可注册信号处理函数,实现异步通知下的任务调度或异常捕获。

指针猎手发布于 2026/3/16更新于 2026/4/264 浏览0 点赞约 19 分钟阅读
数据结构——排序算法:冒泡、快速排序与归并排序详解
C算法

数据结构——排序算法:冒泡、快速排序与归并排序详解

数据结构中的交换排序与归并排序详解。内容涵盖冒泡排序基础原理,以及快速排序的 Hoare、挖坑法和 Lomuto 前后指针三种实现方式,分析各自的时间复杂度与边界情况。同时介绍基于分治法的归并排序,对比其与快排在稳定性和性能上的差异,提供完整的 C/C++ 代码实现与特性总结。

人间过客发布于 2026/3/16更新于 2026/4/2411 浏览3 点赞约 16 分钟阅读
Linux 进程等待机制:wait/waitpid 与僵尸进程治理
C

Linux 进程等待机制:wait/waitpid 与僵尸进程治理

进程等待通过 wait 或 waitpid 系统调用实现,用于回收子进程资源并获取退出状态,防止僵尸进程产生。支持阻塞与非阻塞模式,可通过宏解析退出信息。父进程需使用这些接口从内核获取子进程状态,无法通过全局变量共享。非阻塞轮询允许父进程在等待期间执行其他任务,但应避免重负载操作以免影响回收效率。

小熊软糖发布于 2026/3/16更新于 2026/4/256 浏览0 点赞约 24 分钟阅读
Linux 基础 IO:深入理解文件描述符机制
C

Linux 基础 IO:深入理解文件描述符机制

探讨 Linux 系统编程中的基础 IO 机制。对比了 C 标准库接口与系统调用的差异,重点解析 open、write、read 等系统调用的用法及标志位含义。深入剖析文件描述符(FD)在内核层面的管理机制,阐明 FD 作为进程文件描述符表下标的本质,以及从用户态到内核态的文件访问路径。帮助开发者建立对 Linux 文件系统的底层认知。

FrontendX发布于 2026/3/16更新于 2026/4/251 浏览0 点赞约 10 分钟阅读
数据结构基础:栈与队列的实现原理
C算法

数据结构基础:栈与队列的实现原理

栈和队列是特殊的线性结构,分别遵循后进先出和先进先出原则。文章详细阐述了顺序栈、链栈的定义与操作,包括初始化、进栈出栈及获取栈顶元素。同时讲解了顺序队列的假溢出问题及其三种解决方案,并对比了带头结点与不带头结点的链式队列实现。掌握这些基础数据结构有助于理解更复杂的算法应用。

DebugKing发布于 2026/3/16更新于 2026/4/244 浏览0 点赞约 16 分钟阅读
Linux 文件描述符与重定向实战:从原理到 minishell 实现
C

Linux 文件描述符与重定向实战:从原理到 minishell 实现

Linux 文件描述符是内核管理 IO 资源的核心索引,重定向则是基于 fd 修改文件对象的经典应用。深入讲解了 fd 的分配规则及系统调用与库函数的关系,演示了如何通过 close+open 或 dup2 实现手动重定向。结合 minishell 实战案例,详细展示了在子进程中解析命令、修改 fd 映射并执行 execvp 的完整流程,重点强调了重定向时机、资源释放及缓冲区行为等工程细节,帮助读者彻底掌握 Shell 底层 IO 机制…

Eee_123发布于 2026/3/16更新于 2026/4/251 浏览0 点赞约 24 分钟阅读
选择排序算法详解与实现
C算法

选择排序算法详解与实现

选择排序通过每轮从未排序区间选取最小值并交换至队头来逐步构建有序序列。该算法时间复杂度稳定为 O(n^2),空间复杂度为 O(1)。文中展示了基础实现及双端优化版本,重点分析了交换逻辑中的边界情况处理。适合理解原地排序原理及算法复杂度分析。

BackendPro发布于 2026/3/16更新于 2026/4/251 浏览0 点赞约 8 分钟阅读
STM32 电压电流有效值计算算法
C算法

STM32 电压电流有效值计算算法

工业电网谐波环境下真有效值测量至关重要。绝对值平均法在波形畸变时误差大,无法满足 0.5S 级精度要求。介绍基于 STM32 的真有效值实现方案,包括双 ADC 同步采样、DMA 双缓冲架构及 O(1) 复杂度滑动窗口算法。通过硬件信号链排查与软件校准滤波,确保计量模块在复杂电磁环境下的稳定性与准确性。

kaikai发布于 2026/3/16更新于 2026/4/2517 浏览2 点赞约 10 分钟阅读
Linux 进程概念(下):环境变量与程序地址空间
C

Linux 进程概念(下):环境变量与程序地址空间

Linux 进程概念涵盖环境变量与程序地址空间。环境变量用于指定系统运行参数,如 PATH 决定指令搜索路径,支持 env、export、unset 等操作,代码中可通过 argv 第三参数、getenv 或全局指针 environ 获取。程序地址空间即虚拟地址空间,通过页表映射物理内存,实现进程隔离。fork 创建子进程采用写时拷贝机制,父子进程共享物理内存直至修改。虚拟地址空间由 mm_struct 管理,划分为多个 VMA 区域,…

未来可期发布于 2026/3/16更新于 2026/4/2511 浏览1 点赞约 46 分钟阅读
贪心算法详解:核心思想与活动选择问题实战
C算法

贪心算法详解:核心思想与活动选择问题实战

贪心算法是一种在每一步选择中都采取当前状态下最优解的策略,旨在通过局部最优累积达到全局最优。本文阐述了贪心算法的核心思想及适用条件,包括贪心选择性质和最优子结构。重点分析了活动选择问题,展示了如何通过按结束时间排序来实现贪心策略,并提供了完整的 C 语言代码示例。文章同时指出了贪心算法的局限性,提醒在实际应用中需验证问题特性以避免陷入局部最优陷阱。

AiEngineer发布于 2026/3/16更新于 2026/4/252 浏览0 点赞约 6 分钟阅读
Linux 进程状态详解:内核视角与代码实例
C

Linux 进程状态详解:内核视角与代码实例

Linux 进程状态涵盖新建、就绪、运行、阻塞、终止等通用状态,内核中具体定义为 R、S、D、T、X、Z。文章解析各状态含义及转换条件,通过 C 语言 fork 示例演示状态变化,深入探讨磁盘休眠、停止及僵尸进程的特殊机制与处理方案,并介绍 ps 命令用于进程状态查看与监控。

嘘发布于 2026/3/16更新于 2026/4/2410 浏览1 点赞约 5 分钟阅读
DBus 源码剖析:DBusMessage 数据结构
C

DBus 源码剖析:DBusMessage 数据结构

D-Bus 通信基本单元 DBusMessage 由消息头和消息体组成。文章详细解析了消息生命周期(创建、填充、锁定、序列化等)、内部数据结构(引用计数、头信息、体数据、锁定标志、计数器、变更戳等)以及设计原则(不透明类型、引用计数管理、网络格式存储)。通过源码剖析揭示了 D-Bus 消息在进程间通信中的实现机制与内存管理方式。

静心发布于 2026/3/16更新于 2026/4/2411 浏览1 点赞约 23 分钟阅读
C

Linux Socket 编程核心:深入解析 sockaddr 数据结构

Linux Socket 编程中 sockaddr 数据结构族是网络通信的核心抽象,用于统一表示不同协议族的地址信息。主要包含通用结构 struct sockaddr、IPv4 专用 struct sockaddr_in、IPv6 专用 struct sockaddr_in6、Unix Domain 专用 struct sockaddr_un 以及通用存储 struct sockaddr_storage。文章详细解析了各结构的字段定义、…

月光旅人发布于 2026/3/16更新于 2026/4/2411 浏览2 点赞约 16 分钟阅读
数据结构与算法:链表分类详解与双向链表初始化实现
C算法

数据结构与算法:链表分类详解与双向链表初始化实现

链表作为基础数据结构,其形态多样,涵盖单向双向、带头不带头及循环非循环等组合。重点梳理链表分类体系,深入解析带头双向循环链表的设计原理。通过哨兵位头节点简化边界操作,配合前驱后继指针实现高效遍历。文中提供完整的 C 语言初始化代码示例,涵盖节点定义、内存分配及指针连接逻辑,帮助开发者夯实底层实现能力,理解数据结构在实际工程中的优化思路。

不羁发布于 2026/3/16更新于 2026/4/251 浏览0 点赞约 7 分钟阅读
进程概念详解:命令行参数、环境变量与地址空间
C

进程概念详解:命令行参数、环境变量与地址空间

命令行参数与环境变量是进程交互的重要桥梁。深入解析了 argc/argv 机制、环境变量作用域及持久化方法,并通过 fork 实验验证了进程内存隔离性。最后结合 readelf 剖析了程序地址空间的物理布局,涵盖代码、数据、堆栈等关键区域。

DataScient发布于 2026/3/16更新于 2026/4/253 浏览0 点赞约 13 分钟阅读
数据结构入门:基于数组的栈实现详解
C算法

数据结构入门:基于数组的栈实现详解

栈这种先进后出的线性表结构,对比了数组与链表作为底层存储的优劣,最终选择数组实现。详细阐述了栈的定义、接口设计及核心功能,包括初始化、入栈、出栈、获取栈顶、判空及销毁操作。通过动态扩容机制解决空间限制问题,并提供了完整的 C 语言头文件、源文件及测试代码示例,帮助读者理解栈的基本原理与工程实践。

FrontendX发布于 2026/3/16更新于 2026/4/2510 浏览1 点赞约 11 分钟阅读
上一页下一页