GorgonMeducer 傻孩子

LV0
发表了文章

面试官问我什么是「栈」,我随手画了10张图来解释

栈(stack)是限定仅在表的一端进行操作的数据结构,且栈是一种先进后出的数据结构,允许操作的一端称为栈顶,不允许操作的称为栈底,如下图所示:

GorgonMeducer 傻孩子
发表了文章

从嵌入式编程中感悟「栈」为何方神圣?

本节重点为了让大家理解内存模型的“栈”,暂时不考虑“静态变量” 的情况,并约定如下:

GorgonMeducer 傻孩子
发表了文章

【为宏正名】for的妙用你想不到

通过本系列前面两篇文章的学习,我们掌握了宏的基本语法和使用规则,讽刺的是这些所谓的“基本语法和规则”却恰恰是正规C语言教育中所缺失的。本文的内容将建立在前面构筑...

GorgonMeducer 傻孩子
发表了文章

【编译器玄学研究报告】第三期——“-O0” 就能逃出优化的魔爪么?

很多人对编译器优化等级0("-O0")有着谜之信仰——认为在这个优化等级下编译器一定不会对代码进行不必要的优化——至少不会进行危险且激进的优化。让我们来看一个来...

GorgonMeducer 傻孩子
发表了文章

简单粗暴解读Cortex-M23/33(下)

上篇文章,我们揭秘了 Cortex-M 家族的新成员、ARMv8-M 架构的两位先驱——传承自 Cortex-M0/M0+ 的 Cortex-M23 和传承自 ...

GorgonMeducer 傻孩子
发表了文章

扒掉“缓冲区溢出”的底裤

“缓冲区溢出”对现代操作系统与编译器来讲已经不是什么大问题,但是作为一个合格的 C/C++ 程序员,还是完全有必要了解它的整个细节。

GorgonMeducer 傻孩子
发表了文章

简单粗暴解读Cortex-M23/33(上)

自从Arm在2016年的十月发布两款Armv8-M架构的新处理器Cortex-M23和Cortex-M33以来,已经过去了3年多,而市面上基于这两款处理器的微控...

GorgonMeducer 傻孩子
发表了文章

一种Cortex-M内核中的精确延时方法(ns级别)

在Cortex-M里面有一个外设叫DWT(Data Watchpoint and Trace),是用于系统调试及跟踪,

GorgonMeducer 傻孩子
发表了文章

【为宏正名】什么?我忘了去上“数学必修课”!

简而言之,通过宏所确定的内容是在编译时刻就固化下来的。很多人都了解这一点,也很擅长使用宏的方式来固化一些常数,比如,教科书中最常见的一个例子是:

GorgonMeducer 傻孩子
发表了文章

一文教你搞懂C语言的Q格式

Q格式是二进制的定点数格式,相对于浮点数,Q格式指定了相应的小数位数和整数位数,在没有浮点运算的平台上,可以更快地对浮点数据进行处理,以及应用在需要恒定分辨率的...

GorgonMeducer 傻孩子
发表了文章

【为宏正名】本应写入教科书的“世界设定”

市面上大部分C程序员对宏存在巨大的误解甚至是恐惧,并因此极力避免宏的适度使用,甚至将宏在封装中发挥正确作用的行为视作是对C语言的“背叛”——震惊之余,对于为什么...

GorgonMeducer 傻孩子
发表了文章

从零开始的状态机漫谈(1)——万物之始的语言

也许从12年前我第一次开始分享状态机编写心得开始,“状态机”就像标签一样紧紧的贴在了“傻孩子”这个网络昵称的额头上——真是抠都扣不下来。不得不坦白的是,从一开始...

GorgonMeducer 傻孩子
发表了文章

【为宏正名】99%人都不知道的"##"里用法

有人说C语言中最臭名昭著的两兄弟就是指针和宏了。对于前者,很多有经验的老鸟会告诉你:用好了指针你就掌握了C语言的内功心法——如同原力一样,无论是追随光明还是堕入...

GorgonMeducer 傻孩子
发表了文章

漫谈C变量——优化天敌“volatile”

自从红警1重制以来,除了生病、上班、看漫画、补番以外,我最大的乐趣就是在steam上参加夜间多人运动——当然,也就没有啥兴致去更新。上周发了一篇原创以后,冷不丁...

GorgonMeducer 傻孩子
发表了文章

真刀真枪模块化(1)——一本糊涂账

  对很多人来,嵌入式软件开发过程中 模块化(Modularization)是一个海市蜃楼、是一个书面词汇、是一个过气的时尚——模块化似乎从未真正的实现过。吹牛...

GorgonMeducer 傻孩子
发表了文章

漫谈C变量——天然原子性是怎么回事?

在20世纪初叶,人们曾经一度认为原子是物质的最小组成单位,原子不可再分。虽然很快人们就发现这是一个谬误——原子不仅可以再分,由质子、中字、电子组成,事实上这些微...

GorgonMeducer 傻孩子
发表了文章

漫谈C变量——夏虫不可语冰

  在嵌入式系统中,确定的(Deterministic)通常是“简单可靠”的代名词,因此在追求可靠性的嵌入式项目中尽可能使用静态变量是有道理的。静态变量是永恒的...

GorgonMeducer 傻孩子
发表了文章

实时性迷思(1) —— “快是优点么?”

不知道你发现没有,平时我们讨论嵌入式软件开发时总绕不开与实时性(Real Time)相关的话题。相信不少朋友和我一样是通过实时性操作系统(Real Time O...

GorgonMeducer 傻孩子
发表了文章

什么是嵌入式系统(中)——真正的软件和硬件

  当被人问起“什么是嵌入式系统”时,无需看过我的文章,有一种狡猾的说法肯定是挑不出任何错误的——套用知乎上一类著名的问答体,“如何快速的假装/成为某个领域的专...

GorgonMeducer 傻孩子
发表了文章

实时性迷思(2)——“时间片轮转”的沙子

在前面文章中,我们介绍了实时性的基本模型、并分析了实时性窗口内不同位置的时间对整个系统的价值,得出了一个结论——实时性窗口中越靠前的时间对系统中的其它任务越有价...

GorgonMeducer 傻孩子

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券