正文内容加载中...
posted @ 2021-03-13 08:06 sewain Views(328) Comments(0) Diggs(0) Edit
正文内容加载中...
posted @ 2020-12-18 08:42 sewain Views(975) Comments(0) Diggs(2) Edit
正文内容加载中...
posted @ 2020-06-16 10:12 sewain Views(317) Comments(0) Diggs(0) Edit
正文内容加载中...
posted @ 2019-01-08 17:14 sewain Views(195) Comments(0) Diggs(0) Edit
一、前言 前几天有同事过来,让我推荐一本 Linux 系统的书籍。 我就问他 2 个问题: 你想学习 Linux 哪一个层次:内核层?驱动层?应用层? 你的目标是什么:是学习 Linux 系统的设计架构?某个模块的驱动开发?还是仅仅想系统学习一下应用程序编程? 最后,给他推荐了下面这本书: 后来我又 Read More
posted @ 2021-04-12 08:25 sewain Views(550) Comments(2) Diggs(2) Edit
一、前言 计算机最喜欢的数字就是 0 和 1,在 CPU 的世界中,它只认识这两个数字,即使是强大的操作系统,也都是由 0 和 1 组成的。 作为一名软件开发者,入门学习的内容可能就是认识这 2 个既简单、又强大的数字。但是大部分人,对于二进制、二进制计算、原码、反码以及补码的认识,仍处于机械的强制 Read More
posted @ 2021-04-08 09:40 sewain Views(259) Comments(2) Diggs(1) Edit
一、前言 我们平常在写代码的时候,特别是在制造轮子的时候(为别人提供库文件),会遇到各种不同的需求场景: 有些人需要在 Linux 系统下使用,有些人需要在 Windows 系统下使用; 有些人使用 C 语言开发,有些人使用 C++ 来开发; 有些人使用动态库,有些人使用静态库; 特别是在 Wind Read More
posted @ 2021-04-01 10:14 sewain Views(20) Comments(0) Diggs(0) Edit
一、前言 想象一下这个工作场景:你在为一个项目写一个功能库,别人调用库中提供的函数,后来你发现库里的函数A是 多余的。 具有完美情节的你,就是想把这个函数A废弃掉,此时肯定是不能直接删掉,因为你不知道别人在多少个地方调用了这个函数。 这种情况如何处理比较好呢? 这篇小短文就来聊一聊这个问题。 二、操 Read More
posted @ 2021-04-01 10:12 sewain Views(2) Comments(0) Diggs(0) Edit
一、前言 在上一篇文章中,介绍了一种纯软件算法,用来实现临界区的保护功能,文章链接: C语言边角料2:用纯软件来代替Mutex互斥锁。 首先明确一下:如果利用操作系统提供的互斥锁可以实现我需要的功能,我肯定使用互斥锁,之所以介绍 Peterson 这个算法,主要是因为它比较有意思,很小巧,可以为我们 Read More
posted @ 2021-04-01 10:10 sewain Views(2) Comments(0) Diggs(0) Edit
一、前言 在 Linux 系统中,当多个线程并行执行时,如果需要访问同一个资源,那么在访问资源的地方,需要使用操作系统为我们提供的同步原语来进行保护。同步原语包括:互斥锁、条件变量、信号量等,被保护的代码称作“临界区”。 这是非常正规的流程,我们基本上也都是这么做的。 那有没有想过,这些同步原语对代 Read More
posted @ 2021-04-01 10:09 sewain Views(5) Comments(0) Diggs(0) Edit
道哥的第100篇原创 一、前言 这几天在把一个嵌入式项目的代码,移植到另一个平台,发现很多地方用的都是 C89 标准。 1999 年,C语言的标准化委员会发布了 C99 标准,引入了许多特性,包括可变长度的数组、灵活的数组成员(用在结构体)、对IEEE754浮点数的改进、指定成员的初始化器、内联函数 Read More
posted @ 2021-04-01 10:07 sewain Views(6) Comments(0) Diggs(0) Edit
道哥的第 030 篇原创 一、一个真实的代码泄漏故事 事情发生在功能机的时代,我们项目组开发一款手机,软件开发成员大概有 20 人左右吧。结果在手机发布的一周后,另一家小厂就推出了软件界面、功能几乎完全一样的手机,除了开机界面。 因为那个时代,大家几乎都是使用 MTK、高通提供的解决方案,都是统一的 Read More
posted @ 2021-04-01 10:06 sewain Views(345) Comments(0) Diggs(0) Edit
一、Starlink星链计划是什么? 今年的 3.15 晚会,很多人都觉得缺少了特斯拉的一席之地,最近马斯克忙的很,又是在中国辟谣没有监控车主,又是在推特上跟网友“干架”,这么成功的商人,精力还这么充沛,真的让我们佩服! 今天我们来了解一下马斯克的另一个宏伟蓝图:Starlink(星链)项目,听起来 Read More
posted @ 2021-04-01 10:05 sewain Views(28) Comments(0) Diggs(0) Edit
道哥的第 029 篇原创 一、前言 前几天和一个在某研究所的发小聊天,他说:现在的航空、航天和导弹等武器装备中,控制系统几乎都是用单片机,而不是嵌入式系统。 乍一听,和我们的直觉有矛盾啊:那么高大上的设备,其中的控制逻辑一定很复杂,不用嵌入式系统怎么来完成那么复杂的功能控制啊?然后仔细了解了一下,才 Read More
posted @ 2021-03-16 14:38 sewain Views(1951) Comments(5) Diggs(9) Edit