Windbg 是 Microsoft 公司推出的免费的、带 GUI 的调试器,支持 Source 和 Assembly 两种模式的调试。

Windbg 不仅可以调试应用程序,还可以进行系统内核调试,Windbg 支持的平台包括 X86、IA64、AMD64。

阅读全文 »

本文主要介绍 C++虚函数的底层实现,虚析构函数的作用,虚函数表的数据结构及存储方式,以及__declspec(novtable)的作用。

阅读全文 »

转储文件也就是我们常说的 dump 文件,可以把转储文件看成软件的某个时刻的一个快照,我们一般在软件出现问题时手动生成或者程序自动生成转储文件。

阅读全文 »

Lamada 表达式是 C++11 最重要也是最常用的特性之一。Lamada 来源于函数式编程的概念,也是现代编程语言的一个特点。

阅读全文 »

介绍一个我开发的开源NSIS UI插件 NSIS-UI-Plugin,基于 NSIS-UI-Plugin 插件我们可以快速使用NSIS制作类似QQ等软件那样的安装包。

该插件默认使用Qt作为界面库(不需要编译Qt静态库,可以使用Qt动态库),但也可以很方便的切换使用其他界面库,如DuiLib等。

阅读全文 »

在早期的 Windows 操作系统中,在同一用户下运行的所有进程有着相同的安全等级,拥有相同的权限。此时进程可以自由地发送Windows 消息到其他进程的窗口。

从 Windows Vista 开始,对于某些 Windows 消息,这一方式再也行不通了,进程(或者其他的对象)开始拥有一个新的属性–特权等级(Privilege Level)。此时一个特权等级较低的进程不再可以向特权等级较高的进程发送消息,即便他们在相同的用户权限下运行也不行,这就是所谓的用户界面特权隔离(User Interface Privilege Isolation, 简称 UIPI)。

阅读全文 »

当电脑安装完 Steam 后,我们在浏览器中访问steam://run/123,浏览器会自动提示打开 Steam 程序。类似的功能在迅雷、QQ 等产品上也都有使用,本文讲述如何实现该功能。

阅读全文 »
0%