changan

LV1
发表了文章

一个Linux 动态库常见bug

对于正在运行的程序,当更新动态库尝试重新加载时,可能会导致程序 CoreDump 。

changan
发表了文章

c++虚函数表

首先,相较于C语言,C++语言并没有额外增加内存消耗(确切说,在没有虚函数情况下)。 对于一个C++类对象,每个对象有独立的数据成员(非static),但是内存...

changan
发表了文章

右值引用和构造

std::move在运行期不做任何事情(不生成任何机器码),在编译期只做一件事情,就是把入参cast成对应类型的rvalue,从而影响其他函数调用的重载决议。你...

changan
发表了文章

std::shared_ptr

多个shared_ptr管理同一个指针,仅当最后一个shared_ptr析构时,指针才被delete。这是怎么实现的呢?答案是:引用计数(reference c...

changan
发表了文章

从hook的并发症理解x64指令格式

可以理解成一个有意思的问题,假如地址 addr1 上有一个函数func1,长度为len, 将这个函数 整体换一个位置,挪到 addr2, 移动之后的函数成为fu...

changan
发表了文章

perf火焰图 wiki

changan
发表了文章

网络游戏同步模型

何为网络同步,通俗点讲,就是在一个网络游戏里有玩家A和B同框,当A释放了一个技能,状态发生了变化,B又是如何及时表现A的当前状态的呢,就是通过网络同步技术。 不...

changan
发表了文章

TCP的几个问题

TIME_WAIT状态也称为2MSL等待状态。每个具体TCP实现必须选择一个报文段最大生存时间MSL(Maximum Segment Lifetime)。它是任...

changan
发表了文章

Understanding TCPIP Network Stack

网卡需要有驱动才能工作,驱动是加载到内核中的模块,负责衔接网卡和内核的网络模块,驱动在加载的时候将自己注册进网络模块,当相应的网卡收到数据包时,网络模块会调用相...

changan
发表了文章

tcp socket api

TCP三次握手后有个accept队列,进到这个队列才能从Listen变成accept,默认backlog 值是50。

changan
发表了文章

一种定时器的实现

注册一个时间间隔为 Interval 后执行 ExpiryAction 的定时器实例,其中,返回 TimerId 以区分在定时器系统中的其他定时器实例。

changan
发表了文章

protobuf 序列化到文件及反序列化

游戏中,将对局的数据保留下来,用于对局回顾及debug等用途,由于协议采用PB,故以二进制的pb格式写入文件,在使用该对局内容的时候,按照格式反序列化出来用于播...

changan
发表了文章

写一个操作系统_14 C 链接与系统调用

链接可以指定最终生成的可执行文件的起始虚拟地址,我们 指定 内核加载到 0x1500的地方,内核初始化的时候跳转内核要跳转到这个地方。

changan
发表了文章

写一个操作系统_15 内存管理初步

认为的先规划成两部分,用户的物理内存和内核的物理内存,专项专用,内核有方法去占用用户的内存,但是规定两部分内存是专用的,内核只使用自己的物理内存。

changan
发表了文章

排序与突破O(n2)

假设有这样一组数[ 13 14 94 33 82 25 59 94 65 23 45 27 73 25 39 10 ],如果我们以步长为5开始进行排序,我们可以...

changan
发表了文章

G.F.W的原理

要与GFW对抗不能仅仅停留在什么不能访问了,什么可以访问之类的表面现象上。知道youtube不能访问了,对于翻墙来说并无帮助。但是知道GFW是如何让我们不能访问...

changan
发表了文章

xargs note

xargs,是execute arguments的缩写,它的作用是从标准输入中读取内容,并将 此内容传递给它要协助的命令,并作为那个命令的参数来执行。

changan
发表了文章

临界区、信号量、互斥锁、自旋锁与原子操作

程序想要使用共享资源,必然通过一些指令去访问这些资源,若多个任务都访问同一资源,那么访问该资源的指令代码组成的区域称临界区。简而言之,临界区是代码

changan
发表了文章

进程通信 & PIPE

UNIX两大贡献者贝尔实验室和BSD,在进程之间通信侧重不同,前者基于内核对进程之间的通信手段进行了改进,形成了“System V IPC”,而后者则是基于网络...

changan
发表了文章

linux定时器时间轮算法

Linux定时器分为低精度定时器和高精度定时器两种类型,内核对其均有实现。本文讨论的是我们在应用程序开发中比较常见的低精度定时器。作为常用的基础组件,定时器常用...

changan

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券