
51CTO:C++网络通信引擎架构与实现一
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
WIN32_LEAN_AND_MEAN 一个预处理宏,用于控制 Windows 头文件中包含哪些内容 具体来说,定义这个宏会减少 Windows 头文件中包含的一些不常用的头文件和 API,从而减小编译时间并减少编译产生的二进制文件的大小 比如在包含 windows.h 之前定义...
!analyze -v FAULTING_IP 显示发生故障时的指令指针 EXCEPTION_RECORD 显示此崩溃的异常记录 也可以通过.exr查看 BUGCHECK_STR 该名称是错误的名称,错误检查一词实际上表示内核模式崩溃 在用户模式调试中,将显示异常代码 DEFAU...
关于窗口实现 代码 Github 资源文件 工程目录下建立uires目录,里面存放一些工程用到的资源文件,包括图片以及一些XML文件。 同时uires目录下应该还有个uires.xml文件,里面定义程序中用到的其他资源的类型和名称。 入口函数 主窗口 非模态窗口从SHostWnd...
概述 Windows 的组件对象模型(Component Object Model,COM)是一种用于构建可重用软件组件的标准和技术 它允许软件组件以二进制形式进行互操作,独立于编程语言、开发工具和平台 COM 技术广泛应用于各种 Windows 应用程序和系统服务 包括 OLE...
概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...
准备 安装7z后,在官网下载LZMA SDK,然后下面几个文件拷贝到7z安装目录 LZMA SDK 7zS2.sfx 7zS2con.sfx 7zSD.sfx 压缩目标文件 准备好要打包的目标文件,放到一个文件夹 把独立的UI程序放到这里,并改名为setup.exe 在7z安装目...
示例dump分析:重复释放同一堆内存 代码 分析步骤 用windbg打开Dump 文件并加载符号 ctrl + s ctrl + p ctrl + i 自动分析崩溃原因 看到了相关异常信息如下 异常上下文解析: 可以看出,异常触发位置是:aet_breakpad_test!_fr...
概述 在Windows应用程序中,我们可以给每个线程指定一个处理器,这样在多个处理器的机器上就可以同时执行多个操作,从而提高吞吐量。 但是,当一个线程发出一个同步I/O请求的时候,它就会被临时挂起,知道设备完成I/O请求为止。此类挂起会影响性能,因为线程卡在那里不能做别的事情。 ...
概述 在调度程序给另一个可调度线程分配CPU之前,CPU可以运行一个线程大约20ms。 这是在所有线程的优先级都相同的情况下。实际上,线程间的优先级是不同的。 每个线程都会被赋予0(最低)到31(最高)的优先级数。 当系统确定给哪个线程分配CPU时,它会首先查看优先级为31的线程...
线程调度概述 每个线程都有一个上下文,这个上下文保存在内核对象中。它反应了线程上一次执行时CPU寄存器的状态。 大概每个20ms(GetSystemTimeAdjustment函数的第二个参数的返回值),Windows都会查看所有当前存在的线程内核对象。 这些对象中,只有一些被认...
搜索当前标签