我在软件中使用了第三方的一些.dll文件,并将其存储在以下目录中: C:\ Program Files(x86)\ path \ to \ dll \ xxx.dll
成功升级并部署了一些新的.dll文件后,我通过调用LoadLibrary函数重新加载这些.dll文件:
LibWaApiDll = LoadLibrary(tsDllPath.c_str());
fvsetup = (WAAPI_SETUP)GetProcAddress(LibWaApiDll, WAAPI_SETUP_NAME);
然后我尝试通过我的代码获取一个(不是全部).dll文件的版本。 但是,返回的结果是旧的.dll文件的版本,而没有刚刚部署的新版本。
卸载.dll文件时,我按如下方式调用了第三方的“拆解”功能和FreeLibrary函数:
iRet = fvteardown();
if (LibWaApiDll != NULL) FreeLibrary(LibWaApiDll);
if (LibWaUtilsDll != NULL) FreeLibrary(LibWaUtilsDll);
if (LibWaHeapDll != NULL) FreeLibrary(LibWaHeapDll);
为什么我的应用程序在部署后仍加载旧的.dll文件是什么原因?
如何刷新.dll文件以确保可以使用最新的文件?
感谢您的帮助!