Qt 之在运行时加载共享库

简述

在 Windows 上,共享库由 .dll 表示;在 Linux 上,由 .so 表示。一个共享库中的符号被设计为导出的,以便客户端可以从中导入符号。

要使用共享库,除了 Qt之创建并使用共享库 中介绍的方式之外,Qt 还提供了一种机制,可以在运行时加载共享库,通过 QLibrary 来实现。

| 版权声明:一去、二三里,未经博主允许不得转载。

认识 QLibrary

QLibrary 用于在运行时加载共享库,一个完整的加载流程大概分为以下几步:

  • 构造 QLibrary 实例
  • setFileName():指定共享库的文件名(也可以通过 QLibrary 的构造函数来设置)
  • load():动态加载共享库(isload() 检查加载是否成功)
  • resolve():解析共享库中的符号(如果库还没有加载,那么 resolve() 将隐式地尝试加载)
  • unload():卸载共享库

QLibrary 有一个很强大的特性 - 在运行时对共享库提供了平台独立的访问。对于库路径,QLibrary 在内部会做以下处理:

  • 如果文件名是绝对路径,则首先尝试加载该路径。若无法找到文件,则尝试使用不同平台的特定文件前缀(例如:
©️2020 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客 返回首页
实付39.90元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值