2022_09_14

2022_09_14

智能指针 C++11_ 第二篇 C++11_ 第三篇 进程间通信 共享内存 让两个进程的虚拟地址空间映射到同一组物理内存页 Linux POSIX:shm_open + ftruncate + mmap System V:shmget + shmat 匿名共享映射:mmap(.....

2022_02_26

2022_02_26

界面白屏,如何定位问题 发生在初始化阶段 检查窗口创建和消息循环 在窗口创建后、进入主消息循环前添加日志或断点 验证消息泵(Message Pump)是否在正常运行,没有因为某个消息被阻塞 审查资源加载 检查程序启动时加载的大型资源,如图片、字体等,是否存在或已正确载入 加载失败...

2022_02_18

2022_02_18

static 修饰全局变量 加不加static都是静态存储方式 加了static,只初始化一次,防止在其他源文件中被引用 修饰局部变量 变成静态存储方式,变量的生命周期变长,作用范围不变 只初始化一次 修饰函数 加了static之后,函数在内存中只有一份 没加的话,普通函数在每个...

2020_11_19_01

2020_11_19_01

模态对和非模态对话框 模态对话框 当它弹出后,本应用其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作并退出后,其他窗口才能与用户交互。 非模态对话框 它弹出后,本程序其他窗口仍能响应用户输入。 消息循环机制 Windows是事件驱动的。 Windows有两...

2022_02_24_01

2022_02_24_01

godbolt.org 空类编译器会产生出什么函数 在C++中,当你定义一个空类时,编译器为了确保对象能够被正常创建、复制、赋值和销毁,会自动生成一些必要的成员函数 默认构造函数:用于创建类对象时的初始化 拷贝构造函数:用于通过同类型的其他对象初始化新对象 析构函数: 用于对象销...

2020_11_09

2020_11_09

shared_ptr shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr指向同一个对象时(复制shared_ptr等),引用计数加1。当shared_ptr离开作用域时,引用计数减1。当引用计数为0时,释放所管理的内存。 可以使用make_s...

2022_03_07

2022_03_07

调试蓝屏问题 windbg设置符号链接 打开C\Windows\Minidump的dump文件 看堆栈调试 进程间通信机制 lambda 浏览器架构

2022_03_01

2022_03_01

查看内存泄露的方法 Visual Studio CRT 库方法 这是最直接的内置方法,特别适合在开发调试阶段快速发现问题 Visual Leak Detector (VLD) 在包含main()函数的源文件中包含头文件即可:#include <vld.h> 在Debu...

2020_11_19_02

2020_11_19_02 5

GetMessage和PeekMessage PeekMessage在处理获得消息时候和GetMessage一样,关键不同的是PeekMessage在没有消息处理的时候还会继续保持循环激活状态,并且继续占用资源。 GetMessage每次都会等待消息,直到取到消息才会返回。Pee...

2020_05_11_01

2020_05_11_01

虚函数 虚函数 虚函数机制用以支持一个有效率的“执行期”绑定。 虚函数指针 C++对象模型: 每个class产生出一堆指向虚函数的指针,放在表格当中。这个表格被称为svirtual table。 没一个类对象被安插一个指针,指向相关的virtual table,这个指针通常被称为...

扫一扫二维码分享