NEW 一些Bug:记录1

一些Bug:记录1

bingliaolong Windows 2天前 1 0

A库调用B库funcD函数,却触发了B库funcB函数的断点 简述 A库是个DLL,B库是个lib A库里面某个类继承了接口类 B类里面继承了接口类 原因 A库项目使用了B库生成的lib静态库 A库的IInterface.h少了几个函数,和B库的IInterface.h内容不一样...

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

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

bingliaolong Windows 1个月前 5 0

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

Windows开发相关简记二:exe和dll双形态

Windows开发相关简记二:exe和dll双形态

bingliaolong Windows 2个月前 6 0

启动流程 BasicEntry 作为dll导出接口 PrepareEnv 先构建运行时 ntdll.dll kernel32.dll 获取当前dll句柄 EXE被当做DLL加载时,首先修复重定位数据,此时的全局变量等还无法访问 因为Windows操作系统不会修复当做DLL加载的E...

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

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

bingliaolong Dll 5个月前 6 0

概述 现象 有个DLL是给JavaScript调用的,发现它加载了这个库后,给Init函数传入了两个参数 实际上,该动态库导出的函数中,Init是别名,为InitDefrag 而项目中名为InitDefrag的函数只有一个,且只有一个参数 结论 是正确的用法 因为上述的InitD...

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

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

bingliaolong Dll Windows 6个月前 11 0

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

WindowsHOOK相关

WindowsHOOK相关

bingliaolong Windows 9个月前 40 0

概述 HOOK技术(钩子技术)是Windows操作系统中的一种核心机制,允许程序拦截并处理系统事件、消息或函数调用 通过HOOK,开发者可以监控或修改系统的行为,例如键盘输入、鼠标点击、窗口创建/销毁等 HOOK技术广泛应用于安全防护、自动化工具、调试分析等领域 原理 消息机制与...

静态库

静态库

bingliaolong Dll 9个月前 5 0

相关 特性 静态库 (.lib) 动态库 (.dll) 编译时 代码直接嵌入可执行文件 代码独立,运行时加载 文件大小 可执行文件较大 可执行文件较小 部署难度 无需额外文件 需要附带 .dll 文件 更新维护 需重新编译整个项目 只需替换 .dll 文件 工程 项目环境 打开 ...

动态库

动态库

bingliaolong Dll 6年前 4 0

相关 dll 包含所有的代码编译成的指令 lib 包含一个列表,表明dll含有哪些符号,每个符号对应在dll里的位置 工程 使用VS新建项目 选择Win32控制台应用程序 应用程序类型:DLL 附加选项:空项目 创建工程 环境 添加cpp文件 右键工程属性,选择C/C++ 选定代...

COM组件_4

COM组件_4

bingliaolong Windows 9个月前 12 0

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

Windows Dll自卸载相关

Windows Dll自卸载相关

bingliaolong Windows 2年前 5 0

简述 在Windows中,DLL(动态链接库)可以请求操作系统卸载自己,但这样做是有风险的 要确保在DLL被卸载后不再访问任何DLL内部的资源或函数 FreeLibrary 如果在test.dll的某个函数里面,获取到test.dll的句柄后,调用FreeLibrary释放了te...

扫一扫二维码分享