2022_03_01
查看内存泄露的方法 Visual Studio CRT 库方法 这是最直接的内置方法,特别适合在开发调试阶段快速发现问题 Visual Leak Detector (VLD) 在包含main()函数的源文件中包含头文件即可:#include <vld.h> 在Debu...
查看内存泄露的方法 Visual Studio CRT 库方法 这是最直接的内置方法,特别适合在开发调试阶段快速发现问题 Visual Leak Detector (VLD) 在包含main()函数的源文件中包含头文件即可:#include <vld.h> 在Debu...
Windows点击X关闭窗口的过程 WM_CLOSE 这是点击“X”按钮后产生的第一个消息,是一个关闭请求 应用程序可以在此阶段决定是否允许关闭 例如,如果文档有未保存的修改,程序可以弹出一个对话框询问用户是否保存 WM_DESTROY 当窗口确定要关闭时(通常是调用了 Dest...
godbolt.org 空类编译器会产生出什么函数 在C++中,当你定义一个空类时,编译器为了确保对象能够被正常创建、复制、赋值和销毁,会自动生成一些必要的成员函数 默认构造函数:用于创建类对象时的初始化 拷贝构造函数:用于通过同类型的其他对象初始化新对象 析构函数: 用于对象销...
界面白屏,如何定位问题 发生在初始化阶段 检查窗口创建和消息循环 在窗口创建后、进入主消息循环前添加日志或断点 验证消息泵(Message Pump)是否在正常运行,没有因为某个消息被阻塞 审查资源加载 检查程序启动时加载的大型资源,如图片、字体等,是否存在或已正确载入 加载失败...
Windows相关 创建Mutex的有无Global的影响 概述 Windows 内核对象(如 Mutex、Event、Semaphore)的命名规则决定了它们的可见范围: 适用场景:跨会话(如服务进程与用户进程)、跨用户或系统级同步 加了Global\ 表示该对象位于 全局内核...
Windows Mutex 创建或打开Mutex 等待获取Mutex所有权 通过WaitForSingleObject阻塞当前线程,直到Mutex变为有信号(可获取)状态: 释放Mutex 关闭句柄 使用CloseHandle关闭Mutex句柄(系统在进程退出时自动关闭,但显式关...
关于auto推导 关于t最后推导出的类型 auto 的默认类型推导规则会 忽略引用,直接推导出值的类型 函数 test() 返回的是 std::string&(引用),但 auto t = test(); 会 拷贝引用指向的值,生成一个新的 std::string 对象 ...
多态 编译时多态 通过函数重载实现 运行时多态 多态性可以概括为“一个接口,多个方法”,程序运行时才决定调用哪个具象化函数 多态通过虚函数实现,虚函数允许子类重新定义成员函数,而子类重写定义父类函数的做法叫做覆盖,override vector底层 vector底层实现是封装了顺...
内存布局 内核空间 通常在最高的内存地址,用户态程序无法访问 操作系统保留的一部分内存,用于存储内核代码、设备驱动程序等 这部分内存一般不在普通应用程序的内存布局中明确显示,但确实存在并且用户态程序无法直接访问 栈区 由编译器自动分配释放,存放函数的参数值,局部变量等 由高地址向...
02_27 shared_ptr lambda 02_28 自定义消息 自定义系统唯一消息 windbg调试 UI库区别 软件卡的分析 表现为进程中某个或多个线程卡死,可能是UI主线程,也可能是其他线程。 UI主线程的话,可能是UI界面无法点击、无法操作 其他线程的话可能是相关模...
搜索当前分类