【发布时间】:2013-02-01 02:12:41
【问题描述】:
我的程序在启动过程中依赖于几个 DLL,包括 QT 本身的 QtCore4.dll 和 QtGui4.dll 以及 National Instruments 的 ni488.dll。当我尝试使用 cbw32.dll 中的任何函数(在 http://www.mccdaq.com/software.aspx 的 UniversalLibrary 中找到的一个 5 MB 文件)时,我的程序突然需要 5 多秒才能启动,而之前它是瞬间启动的。有什么办法可以减少启动时间吗?就此而言,那段时间发生了什么,操作系统是主动链接函数,还是仅仅试图找到 DLL?有什么方法可以减小 DLL 的大小,以便只包含与我的项目相关的内容?或者在可执行文件本身中包含该信息(换句话说,静态链接)?
编辑:并行加载 DLL 确实是一个不错的建议(以及我将在未来使用的技术),但并没有解决我认为的核心问题。加载一个 5 MB 的 DLL 需要 5 秒似乎过多,对我来说表明存在更深层次的问题。我的期望是否在这里,这些加载时间是正常的?还是真的有什么问题(如果有,我应该调查什么)?
【问题讨论】: