关闭

CPP开发者

所属频道 单片机 公众号精选
  • 编写可移植 C/C  程序的一些要点

    ↓推荐关注↓以前做过两年C程序移植工作,从Win32平台移植到Linux平台。大约有上百万行C/C代码,历时一年多。在开发Win32版本时,已经强调了程序的可植性,无奈Win32团队里对Linux精通的人比较少,很多问题没有想到,直到后来移植工作开始时,才发现移植并非像想的那样简...

    单片机
    2021-09-23
  • 20 张图让你彻底掌握负载均衡的秘密!

    前言今天我们来深度解密一下负载均衡器LVS的秘密,相信大家看了你管这破玩意儿叫负载均衡?这篇文章后,还是有不少疑问,比如LVS看起来只有类似路由器的转发功能,为啥说它是四层(传输层)负载均衡器呢,今天我们就来逐渐揭开LVS的迷雾,本文将会用图解的方式浅入深地探讨LVS的工作机制最...

    单片机
    2021-09-23
  • Linux 文件系统是怎么工作的?

    ↓推荐关注↓和CPU、内存一样,磁盘和文件系统的管理,也是操作系统最核心的功能。磁盘为系统提供了最基本的持久化存储。文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。那么,磁盘和文件系统是怎么工作的呢?又有哪些指标可以衡量它们的性能呢?索引节点和目录项文件系统,本身是对...

    单片机
    2021-09-22
  • Cache 工作原理,Cache 一致性,你想知道的都在这里

    ↓推荐关注↓可以随便到网上查一查,各大互联网公司笔试面试特别喜欢考一道算法题,即 LRU缓存机制,又顺手查了一下LRU缓存机制最近有哪些企业喜欢考察,超级大热门!今天给大家分享一篇关于 Cache 的硬核的技术文,基本上关于Cache的所有知识点都可以在这篇文章里看到。关于 Ca...

    单片机
    2021-09-22
  • “这个需求做不了”

    当我们遇到莫名其妙的需求,却又不得不去实现时,穿这款卫衣

    单片机
    2021-09-22
  • 图解 Linux 网络包接收过程

    因为要对百万、千万、甚至是过亿的用户提供各种网络服务,所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发,要理解性能开销,会进行性能优化。而很多时候,如果你对Linux底层的理解不深的话,遇到很多线上性能瓶颈你会觉得狗拿刺猬,无从下手。我们今天用图解...

    单片机
    2021-09-22
  • Modern C  有哪些能真正提升开发效率的语法糖?

    我们说的ModernC,一般指的是C11及以后的标准,从C11开始,ModernC引入了大量的实用的特性,主要是两大方面,学习的时候也可以从这两大方面学习:增强或者改善的语法特性;新增的或者改善的STL库。我们来看几个具体的案例:案例1:统一的类成员初始化语法与std::init...

    单片机
    2021-09-22
  • 为什么服务端程序都需要先 listen 一下?

    大家都知道,在创建一个服务器程序的时候,需要先listen一下,然后才能接收客户端的请求。例如下面的这段代码我们再熟悉不过了。int main(int argc, char const *argv[]){ int fd = socket(AF_INET, SOCK_STREAM,...

    单片机
    2021-09-22
  • 百度 C 工程师的那些极限优化(并发篇)

    导读:对于工程经验比较丰富的同学,并发应该也并不是陌生的概念了,但是每个人所理解的并发问题,却又往往并不统一,本文系统梳理了百度C工程师在进行并发优化时所作的工作。一、背景简单回顾一下,一个程序的性能构成要件大概有三个,即算法复杂度、IO开销和并发能力。由于现代计算机体系结构复杂...

    单片机
    2021-09-18
  • C  内存模型

    ↓推荐关注↓本文是《C并发编程》一文的姊妹篇。将着重介绍C11标准引入的内存模型。前言在《C并发编程》一文中,我们已经介绍了C11到C17在并发编程方面的新增API。借助那篇文章中的知识,你应该已经可以开发一个完善的C并发系统。这对绝大部分人来说,是足够的了。但在一些情况下,我们...

    单片机
    2021-09-18
  • 你踩过几种 C 内存泄露的坑?

    在ModernC之前,C无疑是个更容易写出坑的语言,无论从开发效率,和易坑性,让很多新手望而却步。比如内存泄露问题,就是经常会被写出来的坑,本文就让我们一起来看看,这些让现在或者曾经的C程序员泪流满面的内存泄露场景吧。你是否有踩过?1.函数内或者类成员内存未释放这类问题可以称之为...

    单片机
    2021-09-17
  • 深入理解 Linux socket

    socketfd长什么样子?什么是socketfd?粗糙的来讲,就是网络fd,比如我们最常见的C/S客户端服务端的编程模式,就是网络通信的一种方式。撇开底层和协议细节,网络通信和文件读写从接口上有本质区别吗?其实没啥区别,不就是读过来和写过去嘛,简称IO。我们先看一下socket...

    单片机
    2021-09-17
  • 三级跳过程详解-从 bootloader 到 操作系统,再到应用程序

    不论是在x86平台上,还是在嵌入式平台上,系统的启动一般都经历了bootloader到操作系统,再到应用程序,这样的三级跳过程。每一个相互交接的过程,都是我们学习的重点。这篇文章,我们仍然以x86平台为例,一起来看一下:从上电之后,系统是如何一步一步的进入应用程序的入口地址。bo...

  • 这100道面试题,用来忽悠半吊子面试官

    昨天在知乎上刷到一个热门问题:程序员需要达到什么水平才能顺利拿到20k无压力?其中一个最热门的回答是:“其实,无论你是前端还是后端、想进大厂还是拿高薪,算法都一定很重要。”为什么,算法会如此重要?初入职场时,一位资深前辈说过的一段话,受用至今:”我们招人的时候都有一个标准,就是招...

    单片机
    2021-09-17
  • 用图文带你彻底弄懂 GDB 调试原理

    一、前言这篇文章来聊聊大名鼎鼎的GDB,它的豪门背景咱就不提了,和它的兄弟GCC一样是含着金钥匙出生的,在GNU的家族中的地位不可撼动。相信每位嵌入式开发工程师都使用过gdb来调试程序,如果你说没有用过,那只能说明你的开发经历还不够坎坷,还需要继续被BUG吊打。我们都知道,在使用...

    单片机
    2021-09-16