插件结构
QPluginLoader:用于运行时加载插件
- instance()方法获取插件的根组件
- load()方法是从库获取方法qt_plugin_instance,并且存在instanceFactory变量中
- unload()方法是卸载库,windows下是调用FreeLibrary,linux是调用dlclose,然后复位pHnd和instanceFactory
- isLoaded()方法看是否加载完成,主要是看instanceFactory是否不为空
- staticInstances()方法获取全局变量staticPluginList的实例副本
- staticPlugins()获取全局变量staticPluginList
QLibrary:运行时加载动态库
- resolve:解析得到函数指针
- load:加载库
- unload:卸载库
- isLoaded:库是否加载完成
QLibraryStore:用于存储库名与QLibraryPrivate 映射关系