- 博客(14)
- 收藏
- 关注
原创 软件框架的十大设计法则
软件框架设计是平衡的艺术,需要在灵活性与简洁性、功能丰富与易于使用、技术创新与生态兼容之间找到最佳平衡点。经过业界多年实践检验,我们萃取出十大核心设计法则,为构建经得起时间考验的软件框架提供系统化指导。
2025-10-24 11:14:24
703
原创 SIMD 函数学习:从 ARM NEON 到 x86 SSE/AVX,解锁高性能计算
本文介绍了ARM-NEON和x86-SSE/AVX函数的命名规则和功能分类,并归类列出了所有函数。
2025-10-15 08:11:12
936
原创 Makefile指南:实践IMake工程的构建笔记
本文是一份关于Makefile和编译构建的实践指南,主要涵盖以下内容: 编译基础知识:详细介绍了GCC编译的四个过程(预处理、编译、汇编、链接)及其常用选项,包括指定输出、编译选项、链接选项、优化等级等。 链接过程说明:对比了动态链接库(.so)和静态链接库(.a)的区别,以及它们在编译和运行时的搜索路径顺序。 make命令详解:提供了常用命令如make、make target、make -f等,以及一般命令和调试命令选项,包括多线程编译(-j)、变量传递、静默模式(-s)等。 调试技巧:介绍了make -
2025-08-31 11:46:41
939
原创 从C到现代C++:10年C经验程序员,快速上手C++的核心总结
本文总结了C++程序员从C快速上手的核心知识点,包括数据和算法、机制与策略分离、编程模式(结构化编程、面向对象、泛型编程)、C++风格建议(避免宏、内存管理、容器使用)、宏定义(替换、条件编译、调试等)以及编译器/操作系统检测宏。文章强调C++对C的改进,如使用namespace、模板、智能指针等特性,并提供了编码规范和跨平台开发技巧。
2025-08-31 09:01:26
965
原创 IMake:让构建回归Makefile本质,前所未有的简单体验
IMake是一套基于Makefile的极简构建系统,旨在解决现代构建工具(如CMake、Autotools)复杂性问题。该项目通过模块化设计,将构建逻辑封装为可重用模板,仅需定义少量变量即可完成编译配置。核心优势包括:1)纯Makefile实现,零学习成本;2)内置Kconfig可视化配置;3)支持本地/交叉编译、静态/动态库等全场景;4)智能依赖处理与标准兼容。特别适合嵌入式Linux开发,相比CMake等工具更轻量透明。项目已在GitHub/Gitee开源,提供环境模板、应用模板等核心组件,通过INC_
2025-08-31 08:37:02
1192
2
原创 jhook,高效内存调试工具的实现
摘要:jhook是一款高效内存调试工具,仅用800行核心代码实现类似valgrind memcheck的功能,包括内存越界和泄漏检测。通过LD_PRELOAD注入自定义分配函数,采用尾部校验字节检测越界,基于分配大小和调用栈统计泄漏。提供链表和红黑树两种实现,支持周期性检测和调用栈追踪。相比valgrind的26万行代码,jhook更轻量高效,无需重新编译即可使用。
2025-08-30 20:27:45
914
原创 一种有限定义域内快速整除的实现方法
摘要 本文提出了一种有限定义域内快速整数除法的实现方法,通过将除法转换为乘法和位移运算来提升计算效率。对于非2的幂除数,推导出转换公式N/D = (N*M)>>K,其中M和K需满足特定的数学条件。文章给出了Python实现代码,可自动计算给定除数和被除数范围下的最优参数,并附上常用快速除法表。该方法适用于性能敏感场景,编译器也采用类似优化策略。
2025-08-30 20:13:14
1068
原创 yyjson ≠ 万能王者:它只是 LJSON DOM 复用模式的一个特化版本
JSON引擎架构对比:yyjson与LJSON的哲学差异 yyjson凭借极速解析成为benchmark常客,但其本质是LJSON DOM复用模式的特化版本。yyjson通过激进优化(非标字符串、宏展开循环、预分配冗余内存)在只读场景表现惊艳,但牺牲了可编辑性和灵活性。LJSON则提供7种解析和4种打印模式,支持真流式处理、可编辑DOM和内存池管理,兼顾性能与通用性。架构选择需权衡:yyjson适合极限只读解析,LJSON则能满足多样化JSON处理需求,以更低内存占用支撑大文件处理、嵌入式系统等复杂场景。
2025-08-30 19:47:12
1006
原创 LJSON 高性能优化的平衡之道:哲学思维与工程实践
LJSON高性能优化:平衡艺术与实践智慧 LJSON项目通过多维创新实现JSON处理性能突破,其核心在于平衡算法选择与工程实践。项目提供7种解析模式和4种打印模式,适应不同场景需求,包括DOM经典模式、内存池模式、文件流模式等。独创的ldouble算法在浮点转换中实现精度与性能的精细平衡。 优化策略体现系统思维:采用查表法减少计算耗时,通过零拷贝技术降低内存开销,利用预计算避免重复运算,实施批量操作提升IO效率。在代码层面,精心优化分支预测、缓存命中和函数内联,使硬件潜能充分释放。LJSON的实践表明,真正
2025-08-30 19:45:11
597
1
原创 LJSON:全能、高性能、真流式的 C 语言 JSON 引擎和数值引擎
LJSON是一个高性能C语言JSON处理引擎,具有以下核心特点: 提供7种解析模式和4种打印模式,支持DOM/SAX处理和真流式操作 采用独创ldouble算法,浮点转换性能远超标准库 设计上注重性能与可维护性的平衡,支持可编辑处理和内存复用 相比yyjson,LJSON在多模式支持、可编辑性和流式处理方面更具优势 适用于大文件处理、嵌入式系统等场景,内存占用可低至常数级 保持代码可读性,零第三方依赖,接口设计参考cJSON,便于二次开发 该项目在JSON处理和数值转换领域实现了工程化平衡,适合需要高性能和
2025-08-30 19:43:17
1043
原创 CBuild-ng:构建系统的范式转移与价值重构
CBuild-ng的价值超越传统"构建工具"的范畴,它基于成熟的Makefile/Bash/Python技术栈,通过工程整合创新,重新定义了系统构建的实践范式:不仅证明了"强大即复杂,简单即有限"的传统假设不再成立,更通过卓越的架构设计实现了能力与易用性的完美统一。这种"分而治之"的工程哲学将复杂性进行了有效的封装和模块化:包的内部复杂性被隔离,包间的复杂性被抽象和自动化,最终实现了前所未有的架构清晰度、可维护性与可扩展性,使大规模系统构建从经验艺术走向工程科学。
2025-08-30 19:35:13
943
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅