Windows

Windows 核心编程 _ 进程五

Windows 核心编程 _ 进程五

bingliaolong 4年前 15 0

终止进程 方法 主线程的入口点函数返回。 进程中的一个线程调用ExitProcess函数(要避免这种方式)。 另一个进程中的线程调用TerminateProcess函数(要避免这种方式)。 进程中的所有线程都“自然死亡”(几乎从来不会发生)。 入口点函数返回 让主线程的入口点函数...

Dump分析:重复释放堆内存,死锁

Dump分析:重复释放堆内存,死锁

bingliaolong 1年前 15 0

示例dump分析:重复释放同一堆内存 代码 分析步骤 用windbg打开Dump 文件并加载符号 ctrl + s ctrl + p ctrl + i 自动分析崩溃原因 看到了相关异常信息如下 异常上下文解析: 可以看出,异常触发位置是:aet_breakpad_test!_fr...

Windows 核心编程 _ 内核对象:线程同步二

Windows 核心编程 _ 内核对象:线程同步二

bingliaolong 4年前 15 0

可等待的计时器内核对象 概述 可指定的计时器内核对象会在某个指定的时间触发,或者每隔一段时间触发一次,通常被用来在某个时间执行一些操作。 函数 第二个参数表示将要创建的是一个手动重置计时器还是一个自动重置计时器。 当手动重置计时器被触发的时候,正在等待该计时器的所有线程都会变成可...

一些问题一:vs相关、dll相关、编译相关

一些问题一:vs相关、dll相关、编译相关

bingliaolong 7个月前 15 0

编译相关 #pragma init_seg 概述 是微软C++编译器中的一个编译指令,专门用于精细控制全局静态对象(包括静态变量)的构造和析构顺序 在解决复杂的初始化依赖或DLL加载问题时非常有用 语法 优先级 compiler 最高优先级 此组别的对象最先构造,最后析构 通常保...

关于多字节和宽字节二

关于多字节和宽字节二

bingliaolong 2年前 15 0

字节 char char是c++里面基本的字符类型,通常用来表示单个字节 这大多数现代系统中,一个char占用1个字节,1个字节是8个位 char可以用来表示ascii字符集中的字符,其中每个字符都可以用一个字节来表示 ascii编码覆盖了英文字母、数字和一些基本的符号 但是在全...

Windows机制:硬盘相关概念、MBR、GPT、MFT、NTFS

Windows机制:硬盘相关概念、MBR、GPT、MFT、NTFS

bingliaolong 11个月前 14 0

相关概念 机械硬盘-磁道 机械硬盘盘片上的同心圆轨迹,数据沿磁道存储 机械硬盘-扇区 每个磁道被等分为若干弧段,每个弧段称为一个扇区 是物理扇区 是真实存在的物理结构 例如:一个磁道可能包含数百至上千个扇区,外圈磁道因周长更长可容纳更多扇区 读写单位 扇区是硬盘读写的最小物理单元...

Windows 核心编程 _ 作业

Windows 核心编程 _ 作业

bingliaolong 4年前 14 0

作业 概述 作业可以让我们将一组进程当作一个实体来处理。 Windows提供的作业(job)内核对象,允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。 我们可以创建一个只包含一个进程的作业,来对进程施加平时不能施加的限制。 只含一个进程的作业 这么做的目的是为了对...

Windows API记述一:Interlocked系列函数、VirtualAlloc、QueryPerformanceCounter、SetThreadPriority、延迟执行、优先级工作机制(调度)

Windows API记述一:Interlocked系列函数、VirtualAlloc、QueryPerformanceCounter、SetThreadPriority、延迟执行、优先级工作机制(调度)

bingliaolong 11个月前 14 0

函数 InterlockedIncrement 概述 这两个函数是 Windows 平台上进行线程安全原子操作的核心工具,用于实现高效的无锁多线程编程 特性 原子性:CPU 硬件保证操作的不可分割性 无锁:无需传统互斥锁(mutex),性能更高 内存屏障:隐含完整的读-写内存屏障...

Windows 核心编程 _ 线程调度

Windows 核心编程 _ 线程调度

bingliaolong 4年前 13 0

线程调度概述 每个线程都有一个上下文,这个上下文保存在内核对象中。它反应了线程上一次执行时CPU寄存器的状态。 大概每个20ms(GetSystemTimeAdjustment函数的第二个参数的返回值),Windows都会查看所有当前存在的线程内核对象。 这些对象中,只有一些被认...

扫一扫二维码分享