关闭

程序喵大人

所属频道 单片机 公众号精选
  • 26张图带你彻底搞懂volatile关键字

    我们知道,现代CPU都是多核处理器。由于cpu核心(Kernel)读取内存数据较慢,于是就有了缓存的概念。我们希望针对频繁读写的某个内存变量,提升本核心的访问速率。因此我们会给每个核心设计缓存区(Cache),缓存该变量。由于缓存硬件的读写速度比内存快,所以通过这种方式可以提升变量访问速度。

  • 面试求职必胜法宝

    找工作,我们可以在做好相关的备战工作,以至于不会在找工作的时候无头苍蝇,不知道复习什么,该怎么准备等。举个很现实的例子:我第一次面试字节的时候,根本不知道怎么准备,例如:算法?考啥算法?操作系统?深度是什么样子呢?像这些问题如果准备的很短,其实面试官是可以直戳泪点的,相信一些失败的同学肯定遇到过。下面我将聊一聊自己面试中的一些经验谈吧。

  • 10+小故事揭秘高频「操作系统面试题」

    面试的过程中,为了考察面试者的基础功力,除了算法以外,操作系统将会占比很大的权重,本文给大家分享我在面试过程中出现的非常高频的面试题,我基本上会从两个角度来阐述,一个是"官话",一个是“大白话”。希望对即将面试的你有所帮助。

  • 计算机不都是0101吗,你有想过计算机是怎么表示的小数吗?

    浮点数的计算机表示(IEEE 754),由 UCB 数学教授 William Kahan 主要起草。后者也因其卓越贡献于1989年获得图灵奖。计算机组成原理与汇编语言这两门课均对该内容有所讲解。与课程中直接抛出公式与概念不同,我想首先与各位探讨"科学计数法"这个概念,进而讨论设计二进制的科学计数法需要涉及到哪些元素。接着,我们讨论如何在内存上表达这个方案。最后讨论计算机的具体实现。

  • 实时性迷思——“时间片轮转”的沙子

    在前面文章中,我们介绍了实时性的基本模型、并分析了实时性窗口内不同位置的时间对整个系统的价值,得出了一个结论——实时性窗口中越靠前的时间对系统中的其它任务越有价值;当一个有实时性要求的事件发生时,如果“不顾其它任务、自私自利”—— 只“ 单纯 ”考虑以越快越好的速度尽快完成当前的事件处理,会给整个系统的实时性带来毁灭性的结果——事实上,当所有任务都采取这一策略时,系统中没有任何一个任务的实时性是可以确定得到保证的。

    单片机
    2020-11-16
  • 一文读懂YUV的采样与格式

    YUV是一种颜色编码方法,和它等同的还有RGB颜色编码方法。RGB三个字母分别代表了 红(Red)、绿(Green)、蓝(Blue),这三种颜色称为 三原色,将它们以不同的比例相加,可以产生多种多样的颜色。

  • 快速阅读源码的能力培养

    本节主要是分享光城的实习期间如何快速阅读一些源代码,以及快速阅读一些开源库。

  • 面试官:动态内存分配时需要注意哪些坑?我懵懵懵了

    在使用C语言开发嵌入式产品的过程中,当使用到malloc函数时候都会有一个争议, “使用动态内存分配安全吗?” ,就连美国军方在safety-critical的嵌入式航空电子设备代码中,也禁止动态内存分配,我们来细细分析下。

  • 64位系统究竟牛逼在哪里?

    想必大家都遇到过这样的问题:安装某个软件的时候,出现提示选择32位版本还是64位版本?我们也可以查看自己的电脑是32位还是64位系统。

  • C语言如何实现动态扩容的string

    最近工作中使用C语言,但又苦于没有高效的字符串实现,字符串的拼接和裁剪都比较麻烦,而且每个字符串都需要申请内存,内存的申请和释放也很容易出bug,怎么高效的实现一个不需要处理内存问题并且可以动态扩容进行拼接和裁剪的string呢?

  • 关于nullptr这篇文章你一定要看

    nullptr和NULL有什么区别?

  • 一文领略HTTP的前世今生

    HTTP协议在当今的互联网可谓是随处可见,一直默默的在背后支持着网络世界的运行,对于我们程序员来说HTTP更是熟悉不过了。平日里我们都说架构是演进的,需求推动着技术的迭代、更新和进步,对于HTTP协议来说也是如此。不知你是否有想过HTTP协议是如何诞生的,一开始是怎样的,又是怎么一步一步发展到今天的HTTP/3?

    单片机
    2020-10-12
  • 详细解析C/C++时间相关的那些函数

    大家平时工作,如果有计算函数耗时或者打印当前时间的需求,一定要来看看这篇文章!

  • 如何利用CPU Cache写出高性能代码?看这些图就够了!

    我们平时编写的代码最后都会交给CPU来执行,如何能巧妙利用CPU写出性能比较高的代码呢?看完这篇文章您可能会有所收获。

    单片机
    2020-09-28