关闭

程序喵大人

所属频道 单片机 公众号精选
  • 我的第一个C 项目:手撸编译器

    总有些读者问我C是如何入门的?我好像一直也没有总结过一篇文章。其实说真的,学习任何一门语言都是靠实践,我现在还清晰的记得,我用C做的第一个项目就是实现一个小型编译器。大二的时候学习编译原理,当时的大作业就是要实现个编译器。当时对编译原理就非常感兴趣,感觉各种词法分析语法分析非常有...

    单片机
    2021-08-19
  • C protected继承和private继承是不是没用的废物?

    如图是真实世界实践中C项目protected继承和private继承的情况:其中public继承总的平均下来几乎占99.9%,而protected继承几乎没有。private继承还能占极小部分,但也完全可以用public继承复合取代。实践是检验真理的唯一标准,现实世界中的这些项目...

  • Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

    栈是什么?栈有什么作用?首先,栈(stack)是一种串列形式的数据结构。这种数据结构的特点是后入先出(LIFO,LastInFirstOut),数据只能在串列的一端(称为:栈顶top)进行推入(push)和弹出(pop)操作。根据栈的特点,很容易的想到可以利用数组,来实现这种数据...

  • 面试系列之指针和引用的使用场景

    指针和引用有什么区别?什么时候应该使用指针?什么时候应该使用引用?

  • 线程间到底共享了哪些进程资源?

    进程和线程这两个话题是程序员绕不开的,操作系统提供的这两个抽象概念实在是太重要了。 关于进程和线程有一个极其经典的问题,那就是进程和线程的区别是什么?相信很多同学对答案似懂非懂。

  • 深入理解mmap

    我们知道,linux系统中用户空间和内核空间是隔离的,用户空间程序不能随意的访问内核空间数据,只能通过中断或者异常的方式进入内核态

  • Linux可执行文件如何装载进虚拟内存

    开篇先抛出几个问题,之后逐个击破: 什么是进程的虚拟地址空间?为什么进程要有自己的虚拟地址空间,这样做有什么好处? 我们都听说过页映射,什么是页映射,操作系统为什么要以页映射方式将程序映射到进程地址空间,这样做有什么好处?程序运行过程中发生页

    单片机
    2020-07-06
  • 到底什么是挂载?

    MOUNT在的文件系统中,有个很重要的概念就是挂载,挂载大家应该都很熟悉,除了根文件系统,其他所有文件系统都要先挂载到根文件系统中的某个目录之后才能访问。所谓的根文件系统就是系统启动的时候安装的第一个文件系统,它也是内核映像所在的文件系统。而挂载到某个目录的某个目录就是所谓的挂载...

    单片机
    2021-11-29
  • 在部队当程序员有多爽?

    今天在知乎上看到一位大佬分享了自己两段很有意思的经历。一段是在部队当程序员的经历,一段是退伍后在大厂当程序员的经历。很不错的经历,分享给大家!作者:Coldwingshttps://www.zhihu.com/question/426897186/answer/218663196...

    单片机
    2021-11-15
  • 普通的int main(){}没有写return 0;会怎么样?

    经常在知乎上可以看到这个问题,于是尝试着回答了一下,没想到国内C巨佬吴咏炜老师还给我点了个赞,让我相当激动,下面具体介绍下!结论可能大家看上面的图就知道了,没有加return0;编译器会自动添加一个。那怎么证明呢?可以查看相应的汇编代码,查看汇编代码推荐使用godbolt.org...

    单片机
    2021-08-19
  • 手撸一个线程池

    点击上方蓝字关注下我呗之前分享过一次手写线程池-C语言版,然后有朋友问是否有C线程池实现的文章:其实关于C线程池的文章我好久以前写过,但估计很多新朋友都没有看到过,这里也重新发一下!本人在开发过程中经常会遇到需要使用线程池的需求,但查了一圈发现在C中完备的线程池第三方库还是比较少...

    单片机
    2021-10-28
  • 完全剖析 - Linux虚拟内存空间管理

    今天,我们来介绍一下 Linux 对虚拟内存空间管理的细节。

  • 如何阅读开源项目代码

    经常有小伙伴私信问我怎么阅读开源项目代码,许多人不知道从何处入手,没有方向感,就像学习一门语言总先要有个学习路线一样。这其实不是三两句话能说明白的,所以就有了这篇文章。相信每个人都有一套自己的策略,这里整理了下我平时阅读项目代码的六大步,希望可以对大家有所帮助。粗略看官方文档,明...

    单片机
    2021-10-20
  • 52图带你梳理Linux通用知识

    噗。。为啥不是面试题了,封面船去哪里了?要开好船,先回到我们的初心---Linux,这篇文章是Linux的超级基础且经常用到的内容,不多说,直接肝!