一些问题:数据模型、数据类型相关、WPARAM和LPARAM
cpp 数据模型和数据类型大小 C++ 数据类型的大小并不是完全固定的,而是由数据模型(Data Model)决定的 不同的操作系统和编译器组合会采用不同的数据模型 为什么有不同数据模型 Windows 选择 LLP64 是为了最大化 32 位代码兼容性 保持 long 为 4 ...
cpp 数据模型和数据类型大小 C++ 数据类型的大小并不是完全固定的,而是由数据模型(Data Model)决定的 不同的操作系统和编译器组合会采用不同的数据模型 为什么有不同数据模型 Windows 选择 LLP64 是为了最大化 32 位代码兼容性 保持 long 为 4 ...
共享内存 概述 核心在于让多个进程能够访问同一块物理内存区域,从而实现快速的数据共享 原理 将同一段物理内存映射到多个进程各自的虚拟地址空间 通信方式 进程直接读写该内存区域,无需内核在用户态和内核态间拷贝数据 高性能原因 避免了数据在用户态和内核态之间的拷贝,是速度最快的IPC...
编译相关 #pragma init_seg 概述 是微软C++编译器中的一个编译指令,专门用于精细控制全局静态对象(包括静态变量)的构造和析构顺序 在解决复杂的初始化依赖或DLL加载问题时非常有用 语法 优先级 compiler 最高优先级 此组别的对象最先构造,最后析构 通常保...
启动流程 BasicEntry 作为dll导出接口 PrepareEnv 先构建运行时 ntdll.dll kernel32.dll 获取当前dll句柄 EXE被当做DLL加载时,首先修复重定位数据,此时的全局变量等还无法访问 因为Windows操作系统不会修复当做DLL加载的E...
脚本相关 setup.nsi 一些定义 setup.nsh app.nsh app_s.nsh 对应静默 脚本相关-其他 卸载删文件 普通 静默 开机自启 快捷方式 调用浏览器打开网页 调用本地notepad 关于函数 在un.DUIPage脚本函数里面调用的其他脚本函数,同样要...
lm lmv 概述 是 lm命令的详细模式,用于显示所有已加载模块的完整信息,包括: 模块基地址(Start/End):模块在内存中的起始和结束地址 模块路径(Image path):文件在磁盘中的完整路径 符号状态(Symbols):如 Loaded(符号已加载)、Deferr...
vtop 概述 !vtop(Virtual Address to Physical Address)是 WinDbg 的内置扩展命令,用于将虚拟地址转换为物理地址,同时展示页表(Page Table)和页目录(Page Directory)的转换过程 作用 解析虚拟地址对应的物理...
消息循环 概述 ATL消息循环 h cpp 其他:Visual studio 相关 符合模式permissive 概述 /permissive-是 Visual Studio(从 VS 2017 版本开始引入)中的一个重要编译器选项,旨在让编译器遵循最新的 C++ 语言标准(C+...
Windows小功能 隐藏桌面快捷方式小箭头 下面方法,win7,win10,win11测试可以 备注 这里是把一个空白ico资源文件打到DLL里面了,资源ID是101,所以用GetCurrentDllPath进行拼接 控制桌面图标的显示或隐藏 下面方法,win7,win10,w...
概述 是 Windows 操作系统中的虚拟内存页面文件,其作用、管理方式及对系统的影响是系统性能优化的核心内容 核心作用 物理内存的扩展 当物理内存(RAM)不足时,Windows 会将不活跃的数据从 RAM 转移到 pagefile.sys 中,释放 RAM 给当前活跃程序使用...
搜索当前分类