易语言如何清理物理内存?
这是我的源码:程序集窗口程序集1.子程序_按钮1_被单击时钟2.时钟周期=3000.子程序_时钟2_周期事件SetProcessWorkingSetSize(取当前进程伪...
这是我 的源码:
程序集 窗口程序集1
.子程序 _按钮1_被单击
时钟2.时钟周期 = 3000
.子程序 _时钟2_周期事件
SetProcessWorkingSetSize (取当前进程伪句柄 (), -1, -1)
.子程序 _按钮2_被单击
时钟2.时钟周期 = 0
.子程序 __启动窗口_创建完毕
.局部变量 yimgs, OSVERSIONINFO
yimgs.dwOSVersionInfoSize = 148
.如果真 (WindowDOS扩展 (yimgs) ≠ 2)
按钮3.禁止 = 假
按钮2.禁止 = 假
.如果真结束
DLL命令如下:
.版本 2
.DLL命令 取当前进程伪句柄, 整数型, "kernel32", "GetCurrentProcess", , 获取当前进程的一个伪句柄 当前进程的伪句柄
.DLL命令 SetProcessWorkingSetSize, 整数型, "kernel32", "SetProcessWorkingSetSize", ,
设置操作系统实际划分给进程使用的内存容量 非零表示成功,零表示失败。会设置GetLastError
.参数 hProcess, 整数型
.参数 dwMinimumWorkingSetSize, 整数型
.参数 dwMaximumWorkingSetSize, 整数型
DLL命令 WindowDOS扩展, 整数型, "kernel32", "GetVersionExA", , 在一个OSVERSIONINFO结构中载入与平台和操作系统有关的版本信息
.参数 版本, OSVERSIONINFO, , OSVERSIONINFO,用于装载版本信息的结构。
但是易语言提示:找不到“OSVERSIONINFO”
请问这怎么办?
如果源码错了帮我改 展开
程序集 窗口程序集1
.子程序 _按钮1_被单击
时钟2.时钟周期 = 3000
.子程序 _时钟2_周期事件
SetProcessWorkingSetSize (取当前进程伪句柄 (), -1, -1)
.子程序 _按钮2_被单击
时钟2.时钟周期 = 0
.子程序 __启动窗口_创建完毕
.局部变量 yimgs, OSVERSIONINFO
yimgs.dwOSVersionInfoSize = 148
.如果真 (WindowDOS扩展 (yimgs) ≠ 2)
按钮3.禁止 = 假
按钮2.禁止 = 假
.如果真结束
DLL命令如下:
.版本 2
.DLL命令 取当前进程伪句柄, 整数型, "kernel32", "GetCurrentProcess", , 获取当前进程的一个伪句柄 当前进程的伪句柄
.DLL命令 SetProcessWorkingSetSize, 整数型, "kernel32", "SetProcessWorkingSetSize", ,
设置操作系统实际划分给进程使用的内存容量 非零表示成功,零表示失败。会设置GetLastError
.参数 hProcess, 整数型
.参数 dwMinimumWorkingSetSize, 整数型
.参数 dwMaximumWorkingSetSize, 整数型
DLL命令 WindowDOS扩展, 整数型, "kernel32", "GetVersionExA", , 在一个OSVERSIONINFO结构中载入与平台和操作系统有关的版本信息
.参数 版本, OSVERSIONINFO, , OSVERSIONINFO,用于装载版本信息的结构。
但是易语言提示:找不到“OSVERSIONINFO”
请问这怎么办?
如果源码错了帮我改 展开
4个回答
展开全部
你看看你的启动窗口的变量 易语言支持库里有 整数型 “文本型” 逻辑性 等等... 很多类型 但是易语言没有 OSVERSIONINFO 这种类型 你可以添加类型 在左边程序里面选择全局变量下面“自定义数据类型”把这个添加上就可以了!希望可以帮到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是从别人的源码里面复制的吧,你只复制了一些代码,没有把数据类型一起复制进去
更多追问追答
追问
不是,这是我以前的一个问题的回答,感觉修改后好像没什么效果
追答
局部变量 yimgs, OSVERSIONINFO
这个数据类型【OSVERSIONINFO】,你没复制上,找到源码,复制到你的源码里
或者删掉WindowDOS扩展这个DLL声明
删掉如下代码
.局部变量 yimgs, OSVERSIONINFO
yimgs.dwOSVersionInfoSize = 148
.如果真 (WindowDOS扩展 (yimgs) ≠ 2)
按钮3.禁止 = 假
按钮2.禁止 = 假
.如果真结束
其实这个优化内存的DLL可以这么用
SetProcessWorkingSetSize (-1, -1, -1)
优化只用这个也行的,不过我觉得这东西貌似用不太到,节约了内存,却把CPU弄上去了
也许是我弄的释放内存的频率高了一点。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不懂。,等待回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询