【发布时间】:2015-03-25 17:50:11
【问题描述】:
我正在开发一个在 vs2012 中的 win32 c++ 项目。 我的项目使用了大量的资源,如图像、图标等。 我已将这些资源嵌入到 exe 中,这些资源已编译。 我使用普通的 Visual Studio 资源文件完成了它。 编译项目需要很多时间。 而且exe文件很大。
所以我决定将所有这些资源编译到另一个 dll 文件中。 并在需要资源时加载它,然后卸载它。 我对该负载资源函数的算法就像......
HBITMAP LoadMyImage (INT nResId)
{
HINSTANCE hDll = LoadLibrary (DLL_RESOURCE);
if (hDll==NULL)
return NULL;
HBITMAP hBitmap = LoadImage (
hDll, MAKEINTRESOURCE (nResId), IMAGE_BITMAP,
LR_DEFAULTSIZE, LR_DEFAULTSIZE,
LR_DEFAULTCOLOR);
if (hBitmap==NULL)
return NULL;
FreeLibrary (hLib);
return hBitmap;
}
考虑到性能、约定和复杂性,这是一个好方法吗? 请指教。
【问题讨论】:
标签: c++ c winapi visual-studio-2012 dll