Windows线程、Windows纤程、Linux线程
线程 概述 一个线程不仅仅是一段正在执行的代码,而是下面几部分的集合 CPU 执行现场 内核调度信息 用户态线程环境 线程私有数据 Windows和Linux Linux 和 Windows 的整体模型非常相似 同一进程内的线程共享进程资源,但每个线程拥有独立的执行现场、栈、调度...
线程 概述 一个线程不仅仅是一段正在执行的代码,而是下面几部分的集合 CPU 执行现场 内核调度信息 用户态线程环境 线程私有数据 Windows和Linux Linux 和 Windows 的整体模型非常相似 同一进程内的线程共享进程资源,但每个线程拥有独立的执行现场、栈、调度...
关键标识符 CLSID (Class ID) CLSID 是一个 128 位 GUID,唯一标识一个 COM 对象类 ProgID (Programmatic ID) ProgID 是一个字符串,人类可读的类标识 IID (Interface ID) IID 也是 128 位 G...
概述 注入方法 CreateRemoteThread + LoadLibraryA/W (最经典) SetWindowsHookEx (钩子注入) QueueUserAPC + LoadLibraryA (APC 注入) 注册表/配置文件 + AppInit_DLLs (系统级)...
procdump 概述 Sysinternals 里面的一个命令行抓 dump 工具,核心定位是按条件触发的转储工具 它可以在崩溃、CPU 飙高、内存超标、卡死等各种条件下自动抓 dump,不用盯着手动抓 三种基本工作模式 Attach 到已运行的进程 直接给进程名或 PID 等...
进程地址空间 概述 Windows 进程地址空间和 Linux 一样采用虚拟地址空间,每个进程有独立的虚拟地址空间,由 Windows 内核和硬件 MMU 联合管理 核心区别在于: Windows 使用 PE(Portable Executable)格式代替 ELF 使用 Hea...
编译器相关 对象或库文件使用不同编译器版本创建 问题描述 对象或库文件"xxx\testM2_2017_T32.lib"是使用与其他对象(如"xxx\AutoBatFile.obj")不同的编译器版本创建的;请使用相同的编译器重新生成所有对...
概述 ATL ATL 本来是为了写 COM 组件(ActiveX、OLE)而生的,顺带提供了最基础的窗口能力 WTL WTL 是微软的一个团队后来单独发布的头文件库,专门填充 ATL 在 UI 方向的空白 关系 wtl是工具箱,不是框架 ATL 概述 下面这些文件,WTL 依赖这...
概述 从vcpkg安装了libcurl的静态库,把该静态库拷贝到了项目同级目录,并在项目中引用了这个libcurl.lib 问题 现象 编译出test.exe的时候发现,同时会多出两个文件 libcurl.dll zlib1.dll 分析 在项目同级目录放进去的是静态库,也在项目...
进程 本质 进程是资源分配的基本单位,是一个执行环境的容器 在Windows内核中,每个进程由一个EPROCESS(Executive Process)结构体表示 EPROCESS关键结构 进程地址空间 概述 每个进程拥有独立的虚拟地址空间(32位系统4GB,64位系统理论上25...
某程序替换图片资源,发现还是显示旧的 简述 替换了程序的一些背景图片,安装图片 编译后发现还是显示旧资源的内容 清理visual studio项目缓存,重新编译还是显示旧资源内容 分析 资源替换成功了,重新编译了,还显示旧内容,那说明跑起来的程序内部的资源本身就是旧的内容 也就是...
搜索当前分类