2023_02_09
Part1 32位内存大小和对齐 string构造开销对比 判断一个类有没有虚函数 判断链表有没有环 Part2 thread 调用CreateThread可以创建一个线程内核对象,内核对象创建成功后,系统会给它从进程的地址空间分配空间供线程使用。 系统把传给CreateThre...
Part1 32位内存大小和对齐 string构造开销对比 判断一个类有没有虚函数 判断链表有没有环 Part2 thread 调用CreateThread可以创建一个线程内核对象,内核对象创建成功后,系统会给它从进程的地址空间分配空间供线程使用。 系统把传给CreateThre...
Linux下/proc Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可...
Windows点击X关闭窗口的过程 WM_CLOSE 这是点击“X”按钮后产生的第一个消息,是一个关闭请求 应用程序可以在此阶段决定是否允许关闭 例如,如果文档有未保存的修改,程序可以弹出一个对话框询问用户是否保存 WM_DESTROY 当窗口确定要关闭时(通常是调用了 Dest...
vector和list 进程间通信 浏览器输入网址后的行为 网络线程请求http数据 通过IPC将数据传给渲染进程的主线程 渲染进程的主线程将解析并构造DOM树,然后进行样式计算 然后根据DOM树和样式计算生成Layout树 然后通过遍历Layout树生成绘制顺序表 接着遍历La...
语言类 volatile 易变性 所谓的易变性,在汇编层面反映出来,就是两条语句,下一条语句不会直接使用上一条语句对应的volatile变量的寄存器内容,而是重新从内存中读取。 “不可优化”特性 volatile告诉编译器,不要对我这个变量进行各种激进的优化,甚至将变量直接消除,...
查看内存泄露的方法 Visual Studio CRT 库方法 这是最直接的内置方法,特别适合在开发调试阶段快速发现问题 Visual Leak Detector (VLD) 在包含main()函数的源文件中包含头文件即可:#include <vld.h> 在Debu...
单链表反转
多态 编译时多态 通过函数重载实现 运行时多态 多态性可以概括为“一个接口,多个方法”,程序运行时才决定调用哪个具象化函数 多态通过虚函数实现,虚函数允许子类重新定义成员函数,而子类重写定义父类函数的做法叫做覆盖,override vector底层 vector底层实现是封装了顺...
a b
原子操作 概念 所谓原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何context switch 原子操作可以保证正在工作的动作不被打断,即一旦开始,持续到结束。对比互斥锁优势在于,原子操作是在C/C++的层面,是无锁操作,既能解决并发...
搜索当前标签