关闭

CPP开发者

所属频道 单片机 公众号精选
  • 一文看懂 | GDB 底层实现原理

    在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍GDB的使用方式,而是大概介绍GDB的实现原理,当然GDB是一个庞大...

    单片机
    2021-11-09
  • 图解网络|收到 RST,就一定会断开 TCP 连接吗?

    什么是RST我们都知道TCP正常情况下断开连接是用四次挥手,那是正常时候的优雅做法。但异常情况下,收发双方都不一定正常,连挥手这件事本身都可能做不到,所以就需要一个机制去强行关闭连接。RST就是用于这种情况,一般用来异常地关闭一个连接。它是一个TCP包头中的标志位。正常情况下,不...

    单片机
    2021-11-08
    ST RS
  • 分布式基石|最难 paxos 和最易 raft ?

    什么是一致性协议?注意,今天是大白话随便聊聊,目的是直白的了解raft是什么,不用太抠理论定义。什么是一致性协议?字面理解就是让某些东西保持一致的协议嘛。什么是一致?大白话就是内容完全相同呗。以存储场景举例,假设有三个磁盘文件,大小为1M,如果三个文件1M的数据都完全相同,那么这...

    单片机
    2021-11-08
  • new[] 和 delete[] 一定要配对使用吗?

    在平时资料中,我们常看到:new和delete,new[]和delete[]一定要配对使用!也有人说:有时候不配对使用也不会出现问题。也许你也是只知其然,不知其所以然,然而我也有点懵了。那就研究下这个问题:首先,看下这段配对使用代码:#include #include using...

    单片机
    2021-11-08
  • C 20 新特性的小细节

    之前整理过一篇C20新特性的文章全网首发!!C20新特性全在这一张图里了,里面提到过latch、barrier和semaphore,但是没有详细介绍过三者的作用和区别,这里详细介绍下。latch这个可能大多数人都有所了解,这就是我们经常会用到的CountDownLatch。用于使...

    单片机
    2021-11-08
  • Qt 6.2 长周期版正式发布

    ↓推荐关注↓Qt6.2正式发布,它是自我们开始迈向全新Qt主要版本以来,一直在努力的版本。Qt6.2得益于我们为Qt6所做的所有架构升级,并包含了Qt5.15中几乎所有深受喜爱的附加模块。Qt6.2也是Qt公司为商业版客户提供的Qt6系列中第一个长周期支持版。在我们升级到Qt6的...

    单片机
    2021-11-08
  • 看起来满是 bug 的排序代码,居然是对的

    ↓推荐关注↓转自:量子位 公众号(QbitAI)程序bug也能负负得正吗?还真可以。比如程序员们再熟悉不过的排序算法,通过两个“bug”居然能歪打正着,实在令人匪夷所思。请看这位程序员写的数组升序排序代码:for i = 1 to n do  for j = 1 to n do ...

    单片机
    2021-11-05
  • 10 张图 22 段代码,万字长文带你搞懂虚拟内存模型和 malloc 内部原理

    通过/proc文件系统探究虚拟内存我们会通过/proc文件系统找到正在运行的进程的字符串所在的虚拟内存地址,并通过更改此内存地址的内容来更改字符串内容,使你更深入了解虚拟内存这个概念!这之前先介绍下虚拟内存的定义!虚拟内存虚拟内存是一种实现在计算机软硬件之间的内存管理技术,它将程...

    单片机
    2021-11-05
  • QUIC 是如何解决TCP 性能瓶颈的?

    ↓推荐关注↓文章目录一、QUIC如何解决TCP的队头阻塞问题?1.1TCP为何会有队头阻塞问题1.2QUIC如何解决队头阻塞问题1.3QUIC没有队头阻塞的多路复用二、QUIC如何优化TCP的连接管理机制?2.1TCP连接的本质是什么2.2QUIC如何减少TCP建立连接的开销2....

    单片机
    2021-11-04
    TCP
  • 手写线程池 - C 语言版

    ↓推荐关注↓1.线程池原理我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可...

    单片机
    2021-11-04
  • 深入理解 Cache 工作原理

    ↓推荐关注↓大家好,今天给大家分享一篇关于Cache的硬核的技术文,基本上关于Cache的所有知识点都可以在这篇文章里看到。关于Cache这方面内容图比较多,不想自己画了,所以图都来自《ComputerArchitecture:AQuantitativeApproach》。这是一...

    单片机
    2021-11-04
  • C/C  动态检测内存错误利器 - ASan

    ↓推荐关注↓ASan,即AddressSanitizer,是一个适用于c/c程序的动态内存错误检测器,它由一个编译器检测模块(LLVMpass)和一个替换malloc函数的运行时库组成,在性能及检测内存错误方面都优于Valgrind,你值得拥有。一、适用平台在LLVM3.1版之后...

    单片机
    2021-11-04
  • Qt 6.2 长周期版正式发布

    ↓推荐关注↓Qt6.2正式发布,它是自我们开始迈向全新Qt主要版本以来,一直在努力的版本。Qt6.2得益于我们为Qt6所做的所有架构升级,并包含了Qt5.15中几乎所有深受喜爱的附加模块。Qt6.2也是Qt公司为商业版客户提供的Qt6系列中第一个长周期支持版。在我们升级到Qt6的...

    单片机
    2021-11-01
  • C  STL 容器如何解决线程安全的问题?

    众所周知,STL容器不是线程安全的。对于vector,即使写方(生产者)是单线程写入,但是并发读的时候,由于潜在的内存重新申请和对象复制问题,会导致读方(消费者)的迭代器失效。实际表现也就是招致了coredump。另外一种情况,如果是多个写方,并发的push_back(),也会导...

    单片机
    2021-11-01
  • 18 张图带你了解衡量网络性能的四大指标:带宽、时延、抖动、丢包

    今天给大家讲讲衡量网络性能的四大指标:带宽、时延、抖动、丢包。如何客户需要我们去评估一个网络的性能,我们就可以从这四方面去进行评估。带宽1、带宽概念:带宽在百度百科中定义:在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。计算机网络的带宽是指网络可通过的最高数据率,即...

    单片机
    2021-11-01