windows – 可以使用压缩的dll吗?
我真的缺乏在
Windows上开发东西的经验,我可能错过了一些明显的东西,试着保持冷静:)
我有一个应用程序(Qt C),它使用自己路径中的一些.dll(我的意思是我将.dll与.exe一起提供).当我发送应用程序时,我通过upx压缩dll.它显着压缩它们,我可以使用这些dll而不解压缩. 我的印象是我做错了,但它只是偶然的,所以我想确定,使用压缩的dll是否可以?或者我应该在任何时候期待不可预测的问题? (这是主要问题) 如果.dlls可以在压缩模式下使用,那么为什么地球我们首先将它们解压缩. 解决方法
这不是“偶然工作”的东西,UPX旨在压缩Win32-PE(以及许多其他格式),无论是可执行文件还是DLL.
至于“可以吗?”,是的,当然只要你没有违反另一方的许可,它就是“OK”. 措辞你的问题“可以吗?”略有不同:“这是明智的吗?”,答案是:可能不是.磁盘上额外的几兆字节通常并不重要.当您将所有内容打包到安装程序中,并且用户通过Internet下载时,数据仍会被压缩,因此在这方面也是如此. 但是,压缩,无论是使用UPX还是其他可执行打包程序,还是Windows的文件系统压缩,都会产生副作用.它会导致额外的地址空间碎片,它会禁用异步传输,并且它会丧失操作系统从工作集中丢弃DLL页面的能力,并在访问时透明地从PE映像重新加载它们. 最后一句话意味着操作系统必须在页面文件中进行分配,并且当您的进程工作集被移出以为其他内容腾出空间时,它必须将页面写入页面文件.没有其他办法.现在,如果用户已禁用页面文件,该怎么办… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 检查DLL文件是否是C#中的CLR程序集的最佳方式
- windows – 使用WPP跟踪多个ETW提供程序
- windows-phone-7 – 提示文本的密码框
- windows-phone-7 – 如何在WIndows Phone 7中获取CPU和内存
- windows-7 – 从Windows 7通过Webdav连接?
- Windows批处理脚本来取消隐藏病毒隐藏的文件
- windows-server-2003 – Windows任务调度程序电子邮件通知?
- windows batch命令用来确定进程的工作目录
- 在Windows下,Qt应用程序的外观和感觉是什么?
- windows-server-2008-r2 – iSCSI SAN – 网络适配器瓶颈
- windows-server-2008 – 从Windows Server 2008中
- Windows – 如何成功更改执行策略并启用Powershe
- Windows上的Java的“单一登录”(使用来自“凭据管
- Windows Phone 8.1 – Windows Phone 8.1 vs Win
- windows-phone-7 – 如何从代码中获取Windows Ph
- .net – 如何防止Windows Forms TextBox在调整大
- windows-server-2003 – 重命名Windows 2003域名
- windows – 如何强制Perl脚本使用ActiveState的w
- windows – 如何找出从文件夹中读取的文件
- windows – 此应用程序无法启动,因为应用程序配置