loadlibrary和freelibrary用法

loadlibrary和freelibrary用法

LoadLibrary用于加载动态链接库(DLL),FreeLibrary用于释放已加载的动态链接库。

1. LoadLibrary用法:

- 它的函数原型一般为HMODULE LoadLibrary(LPCTSTR lpLibFileName);

- lpLibFileName参数指定要加载的动态链接库的名称。这个名称可以是完整的路径,也可以是只包含文件名(此时系统会在默认路径中查找)。

- 加载成功后,返回一个模块句柄(HMODULE),后续可以用这个句柄来获取动态链接库中的函数地址等信息。例如,假设加载名为“mydll.dll”的库,HMODULE hModule = LoadLibrary(_T("mydll.dll")); 如果加载失败,返回NULL。

2. FreeLibrary用法:

- 函数原型为BOOL FreeLibrary(HMODULE hModule);

- hModule参数是由LoadLibrary返回的模块句柄。

- 调用FreeLibrary可以释放已加载的动态链接库,减少系统资源占用。当动态链接库不再需要时,应及时调用此函数。比如已经加载了库并获取了句柄hModule,若要释放该库,BOOL result = FreeLibrary(hModule); result为TRUE表示释放成功,FALSE表示失败,可能是句柄无效等原因导致。

标签:loadlibrary,freelibrary,用法