• 数据结构与算法篇-队列实现栈

    01—队列实现栈原理简述栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构,两者原理不难理解,使用也简单。但是我们不仅仅要掌握数据结构的基本原理,还要学会灵活运用,能否灵活运用是考察一个人对数据结构的理解程度,也是在面试的时候经常会考到的知识点。现在假设面试官要求你用队列...

  • Linux 系统结构详解

    ↓推荐关注↓Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。一、linux内核内核是操作系统的核心,具有很多最基本功能,它负责...

    CPP开发者
    2021-08-19
  • C/C 难题解析 #34

    来源:Github-stackoverflow-top-cpp这是一个C/C难题清单,题源来自Github的stackoverflow-top-cpp。这个题库精选并总结了StackOverflow上的高赞回答,可以测试你有多了解C/C,刷新你的知识,或者帮助你的coding面试...

    CPP开发者
    2021-08-19
  • 25 张图,一万字,拆解 Linux 网络包发送过程

    在开始今天的文章之前,我先来请大家思考几个小问题。问1:我们在查看内核发送数据消耗的CPU时,是应该看sy还是si?问2:为什么你服务器上的/proc/softirqs里NET_RX要比NET_TX大的多的多?问3:发送网络数据的时候都涉及到哪些内存拷贝操作?这些问题虽然在线上经...

    CPP开发者
    2021-08-19
  • C/C 难题解析 #35

    来源:Github-stackoverflow-top-cpp这是一个C/C难题清单,题源来自Github的stackoverflow-top-cpp。这个题库精选并总结了StackOverflow上的高赞回答,可以测试你有多了解C/C,刷新你的知识,或者帮助你的coding面试...

    CPP开发者
    2021-08-19
  • 万字整理,肝翻 Linux 内存管理所有知识点

    Linux的内存管理可谓是学好Linux的必经之路,也是Linux的关键知识点,有人说打通了内存管理的知识,也就打通了Linux的任督二脉,这一点不夸张。有人问网上有很多Linux内存管理的内容,为什么还要看你这一篇,这正是我写此文的原因,网上碎片化的相关知识点大都是东拼西凑,先...

  • C/C 难题解析 #36

    来源:Github-stackoverflow-top-cpp这是一个C/C难题清单,题源来自Github的stackoverflow-top-cpp。这个题库精选并总结了StackOverflow上的高赞回答,可以测试你有多了解C/C,刷新你的知识,或者帮助你的coding面试...

    CPP开发者
    2021-08-19
  • C/C  难题解析 #39

    来源:Github-stackoverflow-top-cpp这是一个C/C难题清单,题源来自Github的stackoverflow-top-cpp。这个题库精选并总结了StackOverflow上的高赞回答,可以测试你有多了解C/C,刷新你的知识,或者帮助你的coding面试...

    CPP开发者
    2021-08-19
  • 深入理解 mmap

    1.开场白环境:处理器架构:arm64内核源码:linux-5.11ubuntu版本:20.04.1代码阅读工具:vimctagscscope我们知道,linux系统中用户空间和内核空间是隔离的,用户空间程序不能随意的访问内核空间数据,只能通过中断或者异常的方式进入内核态,一般情...

    CPP开发者
    2021-08-19
  • C/C  难题解析 #40

    来源:Github-stackoverflow-top-cpp这是一个C/C难题清单,题源来自Github的stackoverflow-top-cpp。这个题库精选并总结了StackOverflow上的高赞回答,可以测试你有多了解C/C,刷新你的知识,或者帮助你的coding面试...

    CPP开发者
    2021-08-19
  • 掌握这个小技巧,让你的 C  编译速度提升 50 倍!

    随着C项目的持续扩大,编译效率越来越是一个问题了。想一想你每天花在这上面的时间,再乘以团队成员的个数,是不是成本很高?那有没有什么办法,在不需要修改源码,也不更换硬件的情况下提升效率呢?一起来看看下面这几个方法,足以让你的编译速度飞起来。先随便下载一个第三方源码,例如:spdlo...

    CPP开发者
    2021-08-19
    编译
  • vmmap 分析内存泄露问题

    vmmap是sysinternals工具集中的一个工具,主要用于分析一个进程的虚拟内存和物理内存的使用情况。更有效的是,可以通过对比两个不同时间的内存使用情况的Snapshot,来查找内存泄露问题。vmmap介绍当你用vmmap去查看一个正在运行的进程的时候。可以看到如下图,不同...

    CPP开发者
    2021-08-19
    内存
  • 学会这个绝招,让 C  崩溃无处可逃!

    Breakpad是Google用C编写的一个开源、跨平台的崩溃报告系统,它支持Windows、Linux和macOS,并提供了一个上传器,可以在进程崩溃时向一个配置好的URL提交minidump文件。目前,有很多大型项目都在使用Breakpad,例如:GoogleChrome、F...

    CPP开发者
    2021-08-19
  • Windows 程序内存泄漏 (Memory Leak) 分析之 UMDH

    小木发现线上的程序通过任务管理器发现内存不断的增长,怀疑是不是内存泄漏呢?用户态内存泄漏可能是句柄泄漏,堆内存泄露,Socket, GDI对象等等。而对于C程序员来说,碰到最多的无疑是堆内存泄露:也就是通过malloc或者new从堆上申请的内存,使用完成后,并没有释放,导致程序使...

  • 图解:进程怎么绑定 CPU

    昨天在群里有朋友问:把进程绑定到某个CPU上运行是怎么实现的。首先,我们先来了解下将进程与CPU进行绑定的好处。进程绑定CPU的好处:在多核CPU结构中,每个核心有各自的L1、L2缓存,而L3缓存是共用的。如果一个进程在核心间来回切换,各个核心的缓存命中率就会受到影响。相反如果进...

    CPP开发者
    2021-08-19
    CPU 进程
发布文章