coderhuo

日常工作中的设计:解耦和封装

本文介绍日常工作中模块间解耦,并进行抽象封装的一个例子。 一、问题提出 在一个嵌入式设备中,视频相关业务流程如下图所示,DSP采集编码后,生成H264数据,然后对H264数据分别进行MP4、RTP、PS封装,封装后形成的数据进入对应的缓存队列。缓存队列是DSP和APP共享的,DSP写入,APP读取。 业务层(APP层)的录像模块(包括循环录像、事件录像等)从mp4数据包缓存队列中读取数...

《软件工程思想》-- 赏析

毕业前准备校招面试的时候,和同学一起刷《高质量C++/C编程指南》,以为作者林锐是个严肃的学者(老学究)。 《软件工程思想》彻底颠覆了我对作者的认知。作者不仅技术文章写的好,文采也很出众,思维、行为都很活跃,很多思想在二十年后的今天仍然适用。 下面是《软件工程思想》的精华摘录,原汁原味的鸡汤,闲暇时不妨品下,可能会有些许收获。如果想拜读原文,可以从这里下载:软件工程思想。 一、软件工程的...

虚拟内存探究,深入理解进程地址空间

想了解堆栈等虚拟内存相关知识吗? 想知道下面这张进程地址空间示意图是如何一步一步画出来的吗? 虚拟内存探究系列文章将通过实验的方式带你学习相关知识。 中文版 第一篇:虚拟内存探究 – 第一篇:C strings & /proc 第二篇:虚拟内存探究 – 第二篇:Python 字节 第三篇:虚拟内存探究 – 第三篇:一步一步画虚拟内存图 第四篇:虚拟内存探究 ...

如何利用硬件watchpoint定位踩内存问题

一、首先确认是否支持硬件watchpoint 二、打开监控模式 三、设置watchpoint 四、参考资料 本文介绍如何使用ARM平台的硬件watchpoint定位踩内存问题,特别是如何在运行过程中自动对特定内存区域添加watchpoint。 在踩内存问题中,最困难的就是找出元凶。常见排查手段如下: 通过gdb打内存断点(添加watchpoint), 看看谁非法访问了...

© coderhuo. Some rights reserved.

本站总访问量次,本文总阅读量

Using the Chirpy theme for Jekyll.