Windows

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

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

bingliaolong 4年前 15 0

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

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

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

bingliaolong 11个月前 14 0

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

一些问题:数据模型、数据类型相关、WPARAM和LPARAM

一些问题:数据模型、数据类型相关、WPARAM和LPARAM

bingliaolong 6个月前 9 0

cpp 数据模型和数据类型大小 C++ 数据类型的大小并不是完全固定的,而是由数据模型(Data Model)决定的 不同的操作系统和编译器组合会采用不同的数据模型 为什么有不同数据模型 Windows 选择 LLP64 是为了最大化 32 位代码兼容性 保持 long 为 4 ...

COM组件_1

COM组件_1

bingliaolong 3年前 26 0

简介 组件对象模型(COM)是一个独立于平台的分布式面向对象的系统,用于创建可交互的二进制软件组件 是OLE(复合文档),ActiveX(Internet组件)等的基础技术 不是一种语言,而是一种标准,用于创建运行时进行交互的可重用的软件库,无须编译到应用程序中,即可使用COM库...

Windows 核心编程 _ 进程五

Windows 核心编程 _ 进程五

bingliaolong 4年前 15 0

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

Windows动态库(DLL)详细学习:一

Windows动态库(DLL)详细学习:一

bingliaolong 1年前 25 0

概述 DllMain 是 Windows 动态链接库(DLL)的入口函数,类似于可执行程序的 main 函数 它在以下四种情况下会被系统自动调用: DLL 被加载到进程内存 DLL 被卸载 进程创建新线程 线程退出 参数 保留参数 lpReserved: DLL_PROCESS_...

关于多字节和宽字节一

关于多字节和宽字节一

bingliaolong 5年前 32 0

多字节 指用多个字节来表示一个字符的字符编码集合。一般英文字母用1Byte,汉语等用2Byte来表示。 发展 一开始 internet上只有一种字符集,ANSI的ASCII字符集,它使用7 bits表示一个字符,总共能表示128个字符,这些字符里包括了英文字母,数字,标点符号等常...

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

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

bingliaolong 1年前 15 0

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

各平台调试方法总结记述一

各平台调试方法总结记述一

bingliaolong 2年前 13 0

Windows 日志 可以通过现有日志来观察 当不方便附加进程时,可以通过写文件的方法写日志 Visual Studio 附加到进程 CLion 附加到进程 windbg Linux 日志 应用程序日志 var/log/ 当不方便附加进程时,可以通过写文件的方法写日志 gdb l...

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

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

bingliaolong 7个月前 15 0

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

扫一扫二维码分享