加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

部署 – 一个大的可执行文件或许多小的DLL?

发布时间:2020-12-13 21:07:43 所属栏目:Windows 来源:网络整理
导读:多年来,我的应用程序已经从1MB增长到25MB,我预计它将进一步增长到40,50 MB。我不使用DLL,但把所有东西放在这个大的可执行文件中。 拥有一个大的可执行文件有一定的优势: 在客户端安装我的应用程序真的是:复制并运行。 升级可以轻松地压缩并发送给客户
多年来,我的应用程序已经从1MB增长到25MB,我预计它将进一步增长到40,50 MB。我不使用DLL,但把所有东西放在这个大的可执行文件中。

拥有一个大的可执行文件有一定的优势:

>在客户端安装我的应用程序真的是:复制并运行。
>升级可以轻松地压缩并发送给客户
>没有冲突的DLL的风险(客户具有EXE的版本X,但DLL的版本Y)

大EXE的最大缺点是连接时间似乎呈指数增长。

另外一个问题是代码的一部分(我们说约40%)与其他应用程序共享。再次,优点是:

>混合不正确的DLL版本没有风险
>每个开发人员都可以对通用代码进行更改,从而加快开发速度。

但是再次,这对编译时间(每个人都在PC上重新编写通用代码)和链接时间都有重大的影响。

问题Grouping DLL’s for use in Executable提到将DLL混合在一个可执行文件中的可能性,但是它似乎仍然需要您在应用程序中手动链接所有功能(使用LoadLibrary,GetProcAddress,…)。

你对可执行文件的大小,DLL的使用以及易于部署和简单/快速开发之间的最佳“平衡”有什么看法?

单个可执行文件对可维护性有很大的积极影响。调试,部署(将问题放在一边)并在现场进行诊断变得更加容易。正如你所指出的,它完全回避DLL的地狱。

最简单的解决方案是使用两种编译模式,一种用于生成一个单独的exe,另一个用于构建大量用于开发的小型DLL。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读