有些人会想:只要程序运行结果好,就不管原程序编得怎样。但绝对不是这样的。软件不是一次性就做完的,有必要做修改,扩展等管理。所以原程序要尽量做成易看懂,管理方便。 这样做,第一是为了软件开发者方便,其次还会影响到软件的性能。管理不方便的程序不
C中大多数缓冲区溢出问题可以直接追溯到标准 C 库。最有害的罪魁祸首是不进行自变量检查的、有问题的字符串操作strcpy、strcat、sprintf 和 gets。一般来讲,象“避免使用 strcpy()和永远不使用gets()这样严格的规则接近于这个要求。 今天,编写的程序仍然利
1. 前言 嵌入式是软件设计领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些问题又具有相当的通用性,可以推广到其他的领域。 提起嵌入式软件设计,传统的印象是单片机,汇编,高度依赖硬件。传统的嵌入式软件开发者往往只关注实现功能
1 offsetof宏的原理以及作用 在使用container_of宏之前,我们先来了解下offsetof这个宏,它在Linux内核里的源码是这个样子: #define offsetof(TYPE,MEMBER) ((int) &((TYPE *)0)->MEMBER) 1.1 offsetof宏的工作原理 虚拟一个TYPE类型的结构体变量,通过TYPE.
在文件操作过程中,lseek操作可以偏移到文件的任意位置。 在UNIX文件操作中,文件位移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将延长该文件,并在文件中构成一个空洞,这一点是允许的。位于文件中但没有写过的字节都被设为 0。 如果 offs
总结这篇文章之前,我想说我是一个业余的,抱着学习的态度去了解做项目与做产品需要了解的知识范畴,文章大部分是我自己从网上学习网友的一些精彩回答摘抄学习修改的,毕竟我目前和同学运营了一家公司,所以这些东西必须要去学习和了解,否则未来会给我们带来
本程序编写基于秉火霸道STM32F103ZET6运行环境。 在实际的产品开发中,一般包含: 1、BootLoader 引导程序 2、APP_BAK 应用程序备份恢复区 3、APP 应用程序 网上很多讲解这方面的知识感觉很高端,让人觉得这是一个牛逼的东西,但我是这么来理解的,它们俩都是普
最近在搞QT网络通讯这块,涉及到HTTP协议,我们需要上传检测数据到政府单位的后台系统,他们使用的是HTTP的表单格式上传,为了保证我的数据一定能上传到后台,我先用POSTMAN去模拟这个过程,确保我通过POSTMAN是可以上传的,接下来再开始编写QT程序。 写这个
在嵌入式系统或单片机程序开发过程中,经常会遇到各种按键的需求,比如按键短按、按键长按、按键双击,这些功能虽然不难,但想要完全写好这些功能并不简单。网上已经有大神实现了这样的组件,该组件的特性如下: 使用时系统不阻塞 低耦合性 同一个按键可实现
2019年已经成为了过去时,公众号也增加了不少新朋友,今天就把近期发布的一些阅读量高的文章整理出来,供大家参考相互借鉴学习。 自我介绍 我叫杨源鑫,90后,来自汕头濠江,是纯正的潮汕人,大家都叫我杨工、杨老师、杨哥(叫我杨工就好了)。。。08年,全家迁
一般在写一个项目的时候,为了更直观的调试,我们在程序里都会打printf调试语句,随着项目越写越多,printf也会越来越多,但项目准备结尾的时候,这时候开始优化就会发现,你想完全把printf语句都删除了,又怕后面项目出问题找不到问题点在哪里,不删项目一执
好久没写公众号了,最近两个月基本忙成狗,没办法,工作和家庭都要相互兼顾,有了个小宝宝以后好多时间都没那么自由啦,2020年第一篇就来分享一个刚毕业的时候写的一个量产测试工具吧,采用的是C语言来编写,刚开始应用在Linux和Android平台上,后面通过移植也
以前在做Linux下Android系统项目开发的时候,由于Android系统是非常庞大的,可能是10几个G,供应商给了如下的N多个压缩包给了我,格式大概是下面这样子: xxx.gz.aa,xxx.gz.ab,xxx.gz.ac等等 接下来,为了更好说明如何解压缩上面这种格式的文件,假设