总有些读者问我C是如何入门的?我好像一直也没有总结过一篇文章。其实说真的,学习任何一门语言都是靠实践,我现在还清晰的记得,我用C做的第一个项目就是实现一个小型编译器。大二的时候学习编译原理,当时的大作业就是要实现个编译器。当时对编译原理就非常感兴趣,感觉各种词法分析语法分析非常有...
如图是真实世界实践中C项目protected继承和private继承的情况:其中public继承总的平均下来几乎占99.9%,而protected继承几乎没有。private继承还能占极小部分,但也完全可以用public继承复合取代。实践是检验真理的唯一标准,现实世界中的这些项目...
栈是什么?栈有什么作用?首先,栈(stack)是一种串列形式的数据结构。这种数据结构的特点是后入先出(LIFO,LastInFirstOut),数据只能在串列的一端(称为:栈顶top)进行推入(push)和弹出(pop)操作。根据栈的特点,很容易的想到可以利用数组,来实现这种数据...
进程和线程这两个话题是程序员绕不开的,操作系统提供的这两个抽象概念实在是太重要了。 关于进程和线程有一个极其经典的问题,那就是进程和线程的区别是什么?相信很多同学对答案似懂非懂。
开篇先抛出几个问题,之后逐个击破: 什么是进程的虚拟地址空间?为什么进程要有自己的虚拟地址空间,这样做有什么好处? 我们都听说过页映射,什么是页映射,操作系统为什么要以页映射方式将程序映射到进程地址空间,这样做有什么好处?程序运行过程中发生页
今天在知乎上看到一位大佬分享了自己两段很有意思的经历。一段是在部队当程序员的经历,一段是退伍后在大厂当程序员的经历。很不错的经历,分享给大家!作者:Coldwingshttps://www.zhihu.com/question/426897186/answer/218663196...
经常在知乎上可以看到这个问题,于是尝试着回答了一下,没想到国内C巨佬吴咏炜老师还给我点了个赞,让我相当激动,下面具体介绍下!结论可能大家看上面的图就知道了,没有加return0;编译器会自动添加一个。那怎么证明呢?可以查看相应的汇编代码,查看汇编代码推荐使用godbolt.org...
经常有小伙伴私信问我怎么阅读开源项目代码,许多人不知道从何处入手,没有方向感,就像学习一门语言总先要有个学习路线一样。这其实不是三两句话能说明白的,所以就有了这篇文章。相信每个人都有一套自己的策略,这里整理了下我平时阅读项目代码的六大步,希望可以对大家有所帮助。粗略看官方文档,明...
噗。。为啥不是面试题了,封面船去哪里了?要开好船,先回到我们的初心---Linux,这篇文章是Linux的超级基础且经常用到的内容,不多说,直接肝!
289117336
Tronlong创龙
詹姆斯6个MVP
hujiaqi06
大有可为
MXX1597759
xingnan123
xiaoguaixh
liqinglong1023