我用vb做的主程序要调用别人用vc做的dll,我听别人说“调用dll完成计算以后需要释放dll,否则会使得dll逐渐吞噬内存,导致机器变慢。”我对dll不熟,我觉得这个这个说法好像与我以前了解到的dll的知识说法不是很一致。而且我觉得我的程序好像只是申明了dll,及其里面的函数,就可以使用了,没有看见有什么地方有专门的加载dll的语句啊?!如果需要释放dll,该如何释放了?
特此请教各位高手!
特此请教各位高手!
解决方案 »
- 报表数据分页问题
- 请问谁有"visual basic 核心"这本电子书呀?是一位外国作者写的.
- 发现居然还有分散
- DATAGRID DBGRID 等怎样使鼠标中的滑轮对滚动条起作用?谢谢!!!!!
- 如何解决XP下VB运行时界面显示“没有响应”的问题?
- 救救我:(招聘题)怎样用VB6实现一个N阶行列式的计算?
- 有没有人做过光盘刻录的程序.
- 请教关于表的复制问题!
- 請問以下段代碼是什么意思?
- Worm.Nimda病毒在c:\windows\system 目录下有个文件名叫load.exe ,该文件属性是“系统文件”与“隐藏文件”,请问有什么比较简单的方法将其删除掉??如果从DOS下怎么删除????
- 远程数据库问题
- vb怎么合并WORD中的单元格???
释放用FreeLibrary
1。Win32 Dynamic-Link Library方式创建Non-MFC DLL动态链接库
2。MFC AppWizard[dll]方式生成常规/扩展DLL前者相当于win32 api,在你第一次使用它的某个函数的时候进行加载,程序退出它退出。不用LoadLibrary
后者是要用LoadLibrary和FreeLibrary随时加载和释放的
还有,我刚才试了一下,vb中好像没有LoadLibrary和FreeLibrary这两个保留字啊?!
你可以查询msdn啊
============
这个是不可能的,只加载一次的,逐渐吞噬内存只能说明你的dll写的有问题,仔细检查下。
我在做主程序,是用vb做的,但是其中要用到一个dll,是vc做的。这个dll是用Win32 Dynamic-Link Library方式创建Non-MFC DLL动态链接库。使用这个dll的时候我并没有用到LoadLibrary和FreeLibrary。我仅仅Declare了这个dll和它内部的函数,就可以使用了。从我测试这个的dll的情况来看,并没有出现因为不释放dll,内存资源逐渐减少而导致机器速度变慢的情况。但是由于我测试的时间不长,本身dll也不大。所以我不敢确定是否不释放dll的话会导致可用内存减少,机器速度变慢的情况,所以想请教一下各位高手是否会因为不释放dll而会出现机器变慢的情况。本来从我所了解的dll的知识来看,我也认为dll在程序中只加载了一次。但是那个做dll的人她不相信我的话,而我也没有确定的把握,所以来这里求助!