社区
进程/线程/DLL
帖子详情
如何在Dll中自动调用FreeLibrary
zcd_jimy
2002-12-30 03:06:07
我在Dll中调用LoadLibray装载另一个Dll,并且想在我的Dll被释放时,自动使用FreeLibrary释放该Dll.将FreeLibrary放在DllMain()中可以实现,但MS说这样不安全,请问还有没有什么方法呢?请赐教
...全文
71
5
打赏
收藏
如何在Dll中自动调用FreeLibrary
我在Dll中调用LoadLibray装载另一个Dll,并且想在我的Dll被释放时,自动使用FreeLibrary释放该Dll.将FreeLibrary放在DllMain()中可以实现,但MS说这样不安全,请问还有没有什么方法呢?请赐教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zcd_jimy
2003-01-02
打赏
举报
回复
谢谢In355Hz,再仔细看了MSDN,所谓的not safe的确是指如果两个Dll相互调用。
youthcsdn
2002-12-31
打赏
举报
回复
gz
In355Hz
2002-12-31
打赏
举报
回复
sorry, 我是指调用 FreeLibrary 释放的 DLL 没有引用到当前执行 DllMain 的 DLL。
因为这时当前 DLL 的内部引用计数已经是 0,如果释放的 DLL 再减少当前 DLL 引用计数的话...
eduyu
2002-12-31
打赏
举报
回复
楼主,打搅了。
什么叫做不依赖于自身?
In355Hz
2002-12-30
打赏
举报
回复
比如设计一个类,在类的 Destructor 中调用 FreeLibrary,然后为该类申明一个全局变量。
其实在 DllMain 中调用 FreeLibrary 也不是不可以(只要释放的 DLL 不依赖于自身),可参考 MFC 的 DllMain
QT编写
DLL
调用
示例 方法 参数 返回值 事件回调
QT编写
DLL
给外部程序
调用
示例 方法 参数 返回值 事件回调 : 1:C#或者 NET 第一步:引入命名空间; using System Runtime InteropServices; 第二步:声明函数 必须与实际
DLL
中
函数名及参数一致; [
Dll
Import "qt...
LabWindows/CVI
调用
DLL
实用例程
本例程是在CVI自带的simple添加
调用
my
dll
.
dll
的函数My
DLL
CdeclFunction() 网上和CVI的例程很少,一般为
调用
LIB实例,但很多
dll
都是以*.
dll
提供的,故本例程很实用。 本例程主要是
调用
了三个Windows API函数...
dll
加载卸载工具源码
远程注入方式实现Load
Library
,
Free
Library
附带遍历进程和模块
dll
功能。svchost等的系统进程不能遍历,没做处理。 用了破解的皮肤组件,360之类的软件可能会唧唧歪歪,不喜欢的可以自行修改代码和删除相关皮肤...
最简单的插件示例
在“最简单的插件示例”
中
,核心思想是利用C++或者C#等编程语言创建一个
DLL
文件,这个文件包含特定的接口或基类,供主应用程序
调用
。接口或基类定义了插件必须实现的一系列方法,这样主程序就能识别并
调用
这些功能。...
通过内联汇编实现
DLL
自卸载,即在
DLL
的函数内部
Free
Library
自己
理论上
DLL
模块内部代码是不能自己卸载自己的,因为一旦
DLL
被
Free
Library
后,当前运行自身代码空间就为非法内存了。但在某些特殊场合,需要实现这种功能。例如,
DLL
导出某纯虚接口指针IExample*,存在一个IExample::...
进程/线程/DLL
15,467
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章