<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Clear Code]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Set_Mode</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Set_Mode]]></copyright><item><title><![CDATA[《并发编程核心机制系列（一）：Linux原子操作API完整指南》]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147548444</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147548444</guid><author>Set_Mode</author><pubDate>Sun, 27 Apr 2025 10:01:45 +0800</pubDate><description><![CDATA[Linux原子操作API提供了一套完整的原子操作机制，通过合理使用这些API，我们可以实现高效的并发控制。在实际开发中，需要根据具体场景选择合适的API，并注意性能和正确性的平衡。作者：Morgan这是我的学习笔记，记录了对Linux原子操作API的深入理解。持续学习，不断进步！Lumière Notes - 用代码点亮前行之路。]]></description><category></category></item><item><title><![CDATA[《并发编程核心机制系列（二）：原子操作与互斥量的抉择》]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147548716</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147548716</guid><author>Set_Mode</author><pubDate>Sun, 27 Apr 2025 10:01:00 +0800</pubDate><description><![CDATA[原子操作适合简单、高性能的场景互斥量适合复杂、功能性的场景选择时需要权衡性能和功能需求选择合适的同步机制不是简单地说原子操作比互斥量好或者互斥量比原子操作强大，而是要根据具体场景做出正确的选择。在实际开发中，可能需要同时使用多种同步机制来实现最优的解决方案。作者：Morgan这是我的学习笔记，记录了对并发编程中同步机制的理解。持续学习，不断进步！Lumière Notes - 用代码点亮前行之路。]]></description><category></category></item><item><title><![CDATA[cJSON - JSON 解析器设计与实现（三）：类型安全的参数配置封装]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147380409</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147380409</guid><author>Set_Mode</author><pubDate>Mon, 21 Apr 2025 08:46:37 +0800</pubDate><description><![CDATA[在嵌入式系统中，JSON 作为一种轻量级的数据交换格式被广泛使用。虽然 cJSON 库提供了基础的 JSON 解析功能，但在实际应用中还需要考虑内存限制、类型安全等问题。本文介绍了一个基于 cJSON 的二次封装模块，提供了更安全、更易用的 JSON 处理接口。]]></description><category></category></item><item><title><![CDATA[Linux防御式编程完全指南]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147201168</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147201168</guid><author>Set_Mode</author><pubDate>Mon, 14 Apr 2025 08:39:14 +0800</pubDate><description><![CDATA[防御式编程是一种全面的编程思想，需要在代码的各个层面都保持警惕。输入验证和边界检查内存管理和资源控制并发安全和同步机制信号处理和异常处理文件和网络操作安全错误处理和日志记录配置管理和验证系统调用防御进程间通信安全资源限制和清理提高程序的健壮性和可靠性增强安全性改善可维护性减少运行时错误提供更好的用户体验记住：永远不要对输入做任何假设，永远要考虑最坏的情况，这就是防御式编程的核心理念。]]></description><category></category></item><item><title><![CDATA[Linux 多线程编程实战指南]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147148922</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147148922</guid><author>Set_Mode</author><pubDate>Fri, 11 Apr 2025 16:46:26 +0800</pubDate><description><![CDATA[多线程编程是一项复杂但必要的技术，需要深入理解并发原理，合理使用同步机制，注意性能优化。通过本文的实例和最佳实践，相信读者能够更好地掌握 Linux 多线程编程技术。]]></description><category></category></item><item><title><![CDATA[轻量级设备驱动框架设计与实现]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147142996</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147142996</guid><author>Set_Mode</author><pubDate>Fri, 11 Apr 2025 14:16:40 +0800</pubDate><description><![CDATA[define SL_EOK 0 /* 成功 */#define SL_ERROR -1 /* 一般错误 */#define SL_EBUSY -2 /* 设备忙 */#define SL_ETIMEOUT -3 /* 超时错误 */]]></description><category></category></item><item><title><![CDATA[Linux RTC 从入门到精通教程]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147142972</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147142972</guid><author>Set_Mode</author><pubDate>Fri, 11 Apr 2025 14:15:54 +0800</pubDate><description><![CDATA[RTC（Real-Time Clock）是实时时钟，是计算机系统中的一个独立时钟电路，即使在系统断电的情况下也能继续计时。]]></description><category></category></item><item><title><![CDATA[linux 定时器管理系统设计与实现]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147141798</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147141798</guid><author>Set_Mode</author><pubDate>Fri, 11 Apr 2025 13:25:35 +0800</pubDate><description><![CDATA[SL Timebase模块是一个简单高效的定时器管理系统，通过单线程多任务的方式优化了系统资源的使用。它提供了秒级精度的定时执行能力，适用于多种嵌入式应用场景。模块的设计遵循了低耦合、易用性和资源效率的原则，为系统提供了稳定可靠的定时服务支持。]]></description><category></category></item><item><title><![CDATA[嵌入式Linux按键监控模块详解：实现设备重启与长按检测]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147121931</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147121931</guid><author>Set_Mode</author><pubDate>Thu, 10 Apr 2025 16:28:35 +0800</pubDate><description><![CDATA[/ 按键事件类型KEY_EVENT_SHORT_PRESS, // 短按事件KEY_EVENT_LONG_PRESS, // 长按事件// 按键事件回调函数类型// 初始化按键检测模块// 停止按键检测// 快速初始化函数这个简洁的接口定义了两种按键事件类型和必要的初始化/反初始化函数。这个按键监控模块虽然代码量不大，但涵盖了Linux设备交互、事件处理、多线程编程等多个技术要点。它通过精心设计，在资源消耗与功能实现之间取得了很好的平衡，适合在各类嵌入式Linux系统中使用。]]></description><category></category></item><item><title><![CDATA[C语言深入剖析：高性能事件队列的设计艺术]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147098614</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147098614</guid><author>Set_Mode</author><pubDate>Wed, 09 Apr 2025 17:32:00 +0800</pubDate><description><![CDATA[/ 事件处理函数类型定义// 结果回调函数类型定义// 事件结构// 链表节点// 事件处理函数// 事件数据// 数据大小// 结果回调函数// 事件优先级// 事件队列结构// 事件链表头// 互斥锁// 条件变量// 运行状态// 统计信息// 最大队列大小事件结构设计巧妙，既包含基本的事件信息，又支持回调机制队列结构采用链表实现，支持动态增长使用互斥锁和条件变量实现线程同步包含统计信息，便于监控和调试内存管理高效，使用静态事件池。]]></description><category></category></item><item><title><![CDATA[C语言资源自动释放实现详解：基于GCC cleanup属性]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147097709</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147097709</guid><author>Set_Mode</author><pubDate>Wed, 09 Apr 2025 16:59:40 +0800</pubDate><description><![CDATA[cleanup该宏用于定义清理函数，cleanup_fn将在变量作用域结束时自动调用。AUTO_FREE用于自动释放内存。用于自动关闭文件。模块通过自动资源管理机制，极大地简化了C语言中的资源管理工作。它不仅提高了代码的安全性和可维护性，还减少了资源泄漏的风险。对于需要频繁分配和释放资源的场景（如嵌入式开发、文件操作等），该模块是一个非常实用的工具。通过简单的宏定义和清理函数，为C语言开发者提供了一种类似RAII（资源获取即初始化）的编程体验。]]></description><category></category></item><item><title><![CDATA[通用接口函数注册模块设计与实现]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/147074856</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/147074856</guid><author>Set_Mode</author><pubDate>Tue, 08 Apr 2025 18:56:03 +0800</pubDate><description><![CDATA[通用接口函数注册模块()是一个用于实现动态函数注册的轻量级工具。它通过偏移量计算和函数指针赋值的方式，实现了C语言中类似面向对象的接口机制。模块支持动态注册、调试日志输出，并且易于扩展。void* ctx;// 设备上下文通过接口注册模块，可以在C语言中实现类似面向对象的接口机制。它不仅简化了代码结构，还提高了模块的可扩展性和可维护性。无论是驱动开发还是插件系统，这个模块都能提供强大的支持。]]></description><category></category></item><item><title><![CDATA[C语言-查表法详解与实践]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146979462</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146979462</guid><author>Set_Mode</author><pubDate>Thu, 03 Apr 2025 13:52:30 +0800</pubDate><description><![CDATA[查表法是一种将复杂的条件判断转换为表驱动的编程技术，通过建立映射表来替代繁琐的if-else或switch-case语句。fill:#333;color:#333;color:#333;fill:none;查表法表结构定义查找算法数组映射结构体映射顺序查找索引查找查表法是一种简单而有效的编程技术，通过合理使用可以显著提升代码质量和运行效率。]]></description><category></category></item><item><title><![CDATA[cJSON- API 深度解析：设计理念与实现原理（二）]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146537450</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146537450</guid><author>Set_Mode</author><pubDate>Wed, 26 Mar 2025 18:24:06 +0800</pubDate><description><![CDATA[这些 API 的设计充分体现了 cJSON 的设计理念：简单、高效、安全。通过合理的抽象和封装，既保证了使用的便利性，又不失灵活性和性能。]]></description><category></category></item><item><title><![CDATA[cJSON-轻量级 C 语言 JSON 解析库的使用（一）]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146535469</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146535469</guid><author>Set_Mode</author><pubDate>Wed, 26 Mar 2025 17:05:50 +0800</pubDate><description><![CDATA[在当今互联网时代，JSON (JavaScript Object Notation) 已成为数据交换的通用格式。对于 C 语言开发者来说，cJSON 库提供了一种简单而强大的方式来处理 JSON 数据。本文将深入剖析 cJSON 的设计理念、核心功能和实际应用场景。cJSON 是由 Dave Gamble 开发的一个轻量级 JSON 解析和生成库，使用纯 C 语言编写，仅包含一个头文件和一个源文件，总代码量不到 4000 行。简单、高效、易用。]]></description><category></category></item><item><title><![CDATA[epoll：Linux 高性能 I/O 多路复用技术]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146483370</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146483370</guid><author>Set_Mode</author><pubDate>Mon, 24 Mar 2025 19:00:20 +0800</pubDate><description><![CDATA[epoll 是 Linux 内核提供的高效 I/O 事件通知机制，于 2.6 版本内核中引入。它解决了传统 select 和 poll 在高并发场景下的性能瓶颈问题，成为构建高性能网络服务器的首选技术。epoll 作为 Linux 平台上的高性能 I/O 多路复用机制，通过创新的设计解决了传统 select/poll 的性能瓶颈，为构建高并发网络应用提供了强大支持。掌握 epoll 的使用，对于开发高性能服务器至关重要。《Linux 高性能服务器编程》，游双著。]]></description><category></category></item><item><title><![CDATA[内存管理模块设计与实现]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146480735</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146480735</guid><author>Set_Mode</author><pubDate>Mon, 24 Mar 2025 17:24:44 +0800</pubDate><description><![CDATA[在嵌入式系统或需要精确控制内存使用的场景中，一个良好的内存管理模块至关重要。内存使用追踪内存分配记录内存泄漏检测线程安全设计内存对齐支持/* 链表节点 */void *ptr;/* 申请地址 *//* 申请大小 *//* 申请行数 *//* 申请函数名 *//* 已经使用内存 *//* 最大使用内存 *//* 信息记录 *//* 初始化标记 */完整的内存追踪能力线程安全的实现便捷的调试接口灵活的内存对齐支持详细的使用记录。]]></description><category></category></item><item><title><![CDATA[设计模式的六大原则]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146460945</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146460945</guid><author>Set_Mode</author><pubDate>Sun, 23 Mar 2025 20:02:27 +0800</pubDate><description><![CDATA[单一职责原则：一个类只做一件事开闭原则：对扩展开放，对修改关闭里氏替换原则：子类可以替换父类接口隔离原则：接口要小而专一依赖倒置原则：依赖抽象而不是具体迪米特法则：降低对象之间的耦合这六大原则是设计模式的基础，遵循这些原则可以帮助我们写出更好的代码。它们不是硬性规定，而是指导原则，需要根据实际情况灵活运用。]]></description><category></category></item><item><title><![CDATA[C语言-发布订阅模式详解与实践]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146460828</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146460828</guid><author>Set_Mode</author><pubDate>Sun, 23 Mar 2025 19:55:06 +0800</pubDate><description><![CDATA[发布订阅模式定义了一种一对多的依赖关系，让多个订阅者对象同时监听某一个主题。这个主题在状态发生变化时，会通知所有依赖于它的订阅者对象，使它们能够自动更新。发布订阅模式通过解耦发布者和订阅者，实现了灵活的消息通知机制。这种模式特别适合处理事件驱动的场景。]]></description><category></category></item><item><title><![CDATA[C语言-MVC模式详解与实践 - 温度监控系统]]></title><link>https://blog.youkuaiyun.com/Set_Mode/article/details/146460580</link><guid>https://blog.youkuaiyun.com/Set_Mode/article/details/146460580</guid><author>Set_Mode</author><pubDate>Sun, 23 Mar 2025 19:33:03 +0800</pubDate><description><![CDATA[MVC模式将应用程序分为三个核心部分：模型(Model)、视图(View)和控制器(Controller)。这种模式有助于实现关注点分离，使得程序更容易维护和扩展。MVC模式通过分离关注点，使得温度监控系统的代码结构更加清晰，便于维护和扩展。这种模式特别适合处理数据、显示和用户交互的系统。]]></description><category></category></item></channel></rss>