我的程序在启动过程中依赖于几个 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 秒时间似乎过多,对我来说这表明存在更深层次的问题。我的期望在这里吗?这些加载时间是正常的吗?还是真的有什么问题(如果是,我应该调查什么)?