释放Vulkan Loader库
译者注:示例代码点击此处
必须显式关闭(释放)动态加载的库。 为了能够在我们的应用程序中使用Vulkan,我们打开了Vulkan Loader(Windows上的vulkan-1.dll库或Linux上的libvulkan.so.1库)。 因此,在我们关闭应用程序之前,我们应该释放它。
怎么做...
在Windows操作系统上:
1.获取名为vulkan_library的HMODULE类型的变量,其中存储了已加载的Vulkan Loader的句柄(请参阅连接Vulkan Loader库)。
2.调用FreeLibrary(vulkan_library)并将vulkan_library传给它。
3.出于安全原因,将nullptr值分配给vulkan_library变量。
在Liunx操作系统上
1.获取名为vulkan_library的void*类型的变量,其中存储了已加载的Vulkan Loader的句柄(请参阅连接Vulkan Loader库)。
2.调用closed(vulkan_library)并将vulkan_library传给它。
3.出于安全原因,将nullptr值分配给vulkan_library变量。
这个怎么运作...
在Windows操作系统系列中,使用LoadLibrary()函数打开动态库。 必须通过提供以先前打开的库的句柄调用的FreeLibrary()函数来关闭(释放)这些库。
在Linux操作系统系列中,使用dlopen()函数打开动态库。 必须通过提供以先前打开的库的句柄调用的dlclose()函数来关闭(释放)此类库:
#if defined _WIN32
FreeLibrary( vulkan_library );
#elif defined __linux
dlclose( vulkan_library );
#endif
vulkan_library = nullptr;