社区
进程/线程/DLL
帖子详情
dll中加载另一个dll的问题
495711824
2017-09-15 05:53:08
看了网上说不能在dllmain中使用loaddLibrary,freeLibrary.
那我应该在哪时加载另一个dll
...全文
946
6
打赏
收藏
dll中加载另一个dll的问题
看了网上说不能在dllmain中使用loaddLibrary,freeLibrary. 那我应该在哪时加载另一个dll
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CT8100
2017-11-17
打赏
举报
回复
在你需要的地方加啊,你的动态库肯定开发接口函数,在那些开放接口函数中调用,就在里面加载呀。
Eleven
2017-11-17
打赏
举报
回复
你的DLL可以提供一些接口函数,在比如叫做Initialize() / Uninitialize()的接口函数,在这些函数中Load/Free其它DLL库。
Eleven
2017-11-17
打赏
举报
回复
DLL中可以加载另外的DLL,只是在DllMain函数中有一些限制,不要调用LoadLibrary。MSDN文档中也有说到。
495711824
2017-11-17
打赏
举报
回复
引用 1 楼 smwhotjay 的回复:
建议看win core编程 dll那一块。dllmain确实有很多禁忌。
你有相关的书吗?
蠓虫带着秤砣飞
2017-09-16
打赏
举报
回复
需要的时候加载啊。 在导出函数里面加载啊。动态加载的为什么要在dllmain里面加载呢?
smwhotjay
2017-09-15
打赏
举报
回复
建议看win core编程 dll那一块。dllmain确实有很多禁忌。
从资源
DLL
中
选取图标的对话框
这是
一个
从资源
DLL
中
选取图标的对话框
QT动态
加载
DLL
包括
加载
DLL
中
的类及其成员函数
QT
中
加载
DLL
的方式有两种: 一种是静态方式的
加载
,需要有两个文件:lib文件和
dll
文件。lib文件就是导入库,里面定义了一些函数符号,在调用的时候会直接查找这些函数符号,然后根据这些函数符号,找到
DLL
对应的模块
加载
进来进行调用。 另一种就是动态调用。在使用的时候才会
加载
dll
进来,使用QT本身自己的
加载
机制,利用QLibrary进行动态
加载
。 静态
加载
的方式比较常用,下面介绍一下动态
加载
的...
Windows进程常用
DLL
模块注入技术
进程调试级注入,涉及调试器相关功能调用知识点
dll
模块重定位内存注入,模拟操作系统
加载
PE文件方式,直接将
dll
文件内存数据写入目标进程并执行。 导入表注入,涉及PE相关知识点,增加区段,移动导入表,增加导入...
DLL
动态库多次
加载
问题
原因涉及
DLL
加载
和运行机制,主要有两点:1)
DLL
动态链接库无法独立运行,必须由
一个
应用程序进程
加载
到进程空间后才能使用。
加载
DLL
的进程称为宿主进程。被
加载
的
DLL
属于宿主进程,不属于宿主进程内某个线程。2)宿主进程可以重复调用,甚至重复
加载
DLL
。第1次调用
DLL
或第1次
加载
DLL
时,宿主进程将
DLL
引入进程空间。一旦宿主进程成功
加载
DLL
,随后的重复调用或重复
加载
只会增加“引用计...
加载
含有依赖其他
dll
库的
dll
当编写的
dll
依赖其他
dll
库时,exe在
加载
这个
dll
时,exe会去找这个
dll
所依赖的其他
dll
,而查找目录只是其exe所在的目录或指定的那几个系统目录。不会在你放置的
dll
目录
中
找。 例如: A.
dll
依赖B.
dll
,把A.
dll
和B.
dll
放置在d:\load_
dll
目录下,当E:\debug\C.exe执行 ::LoadLibraryA("d:\\load_
dll
\\A.
dll
")
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章