SYSTEM

COM组件_4

COM组件_4

bingliaolong 12个月前 13 0

ATL线程模型和套间 概述 在 COM 开发中,线程模式(Threading Model) 和 套间(Apartment) 是确保组件在多线程环境下安全运行的核心机制 ATL(Active Template Library)通过模板类(如 CComObjectRootEx)和线程...

Linux 内存映射与普通文件访问的区别

Linux 内存映射与普通文件访问的区别 4

bingliaolong 5年前 13 0

mmap概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。 实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文...

Windows开发相关简记一

Windows开发相关简记一

bingliaolong 6个月前 13 0

消息循环 概述 ATL消息循环 h cpp 其他:Visual studio 相关 符合模式permissive 概述 /permissive-是 Visual Studio(从 VS 2017 版本开始引入)中的一个重要编译器选项,旨在让编译器遵循最新的 C++ 语言标准(C+...

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

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

bingliaolong 11个月前 13 0

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

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

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

bingliaolong 9个月前 12 0

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

Vim编辑器的操作

Vim编辑器的操作

bingliaolong 5年前 12 0

vim模式 命令模式(默认) 刚进入vim的时候,默认就是 命令模式,可以复制行,删除行等。 命令模式→输入模式 i:在当前光标所在字符的前面,转为输入模式 I:在当前光标所在行的行首转换为输入模式 a:在当前光标所在字符的后面,转为输入模式 A:在光标所在行的行尾,转换为输入模...

Macos用户类型相关

Macos用户类型相关

bingliaolong 2年前 12 0

Macos user type admin normal sharing-only group root uid为0 gid为0 admin 根据查到的资料,macOS第一个用户会是管理员权限,gid为501 normal 目前我的做法是,区分了root,admin,guest后...

Windows 核心编程 _ 内核对象二

Windows 核心编程 _ 内核对象二

bingliaolong 4年前 12 0

终端服务命名空间 在正在允许终端服务的计算机中,有多个用于内核对象的命名空间。 其中一个是全局命名空间,所有客户端都能访问到的内核对象要放在这个命名空间里面。这个命名空间主要由服务使用。 此外,每个客户端会话都有一个自己的命名空间。 可以通过ProcessIdToSessionI...

Windows 核心编程 _ 线程内幕

Windows 核心编程 _ 线程内幕

bingliaolong 4年前 12 0

概述 对CreateThread函数的调用,导致系统创建了一个线程内核对象。 该内核对象最初的使用计数为2,除非线程终止,而且从CreateThread返回的句柄被关闭,否则线程内核对象不会被销毁。 该线程内核对象的其他属性也被初始化: 暂停计数被设为1 退出代码被设为STILL...

gcc/g++编译器

gcc/g++编译器

bingliaolong 5年前 12 0

gcc/g++介绍 概述 gcc和g++都是GNU(组织)的一个编译器 区别 后缀为.c的文件gcc把它当做c程序,g++当做c++程序。 后缀为c++的两者都当做c++程序。 其他 对于cpp程序,无论gcc或者是g++编译阶段都是相同的 都是用的gcc进行编译 但是在链接阶段...

扫一扫二维码分享