当前位置: 首页 > news >正文

鼓楼徐州网站开发查数据的网站有哪些

鼓楼徐州网站开发,查数据的网站有哪些,策划公司口号,台州市建设招标投标网站文章目录 开始之前一、静态库(static Library)定义使用场景特点程序示例 二、动态库(dynamic Library)定义使用场景特点。程序示例第二种调用 开始之前 测试环境:Qt 5.15.2 Based on Qt 6.4.3(MSVC 2019, x86_64) 操作系统:Windows11 专业版 编程语言&am…

文章目录

      • 开始之前
      • 一、静态库(static Library)
          • 定义
          • 使用场景
          • 特点
          • 程序示例
      • 二、动态库(dynamic Library)
          • 定义
          • 使用场景
          • 特点。
          • 程序示例
          • 第二种调用

开始之前

测试环境:Qt 5.15.2 Based on Qt 6.4.3(MSVC 2019, x86_64)
操作系统:Windows11 专业版
编程语言:C++
__编译器:Qt Creator 11.0.3
本篇文章所有的代码都是在上述的基础上测试通过,此内容应当是通用,不分版本,注明是为了后续定位缺陷,如有瑕疵,劳请指正。

一、静态库(static Library)

定义

静态库是在链接阶段被合并到最终可执行文件中的预编译代码集合。
它通常以.a(Unix/Linux)或.lib(Windows)为扩展名。

使用场景
  • 当需要将某些特定代码封装起来但是又不想让其被动态加载
  • 在嵌入式系统或者对启动时间和内存占用有严格要求的环境中较为常见
特点
  • 永久性: 一旦被链接到可执行文件中,静态库的代码就会成为该程序的一部分。
  • 不可重用性:每个使用静态库的应用程序都会包含一份完整的库副本,这可能导致多个应用程序之间存在重复代码。
  • 迭代更新:静态库需要重新编译和链接所有依赖于该库的应用程序。
  • 程序体积:导致生成的可执行文件较大,因为它包含了所有依赖的库代码。
程序示例
  1. 创建静态库
    在这里插入图片描述
    在这里插入图片描述
    staticLibraryDemo 是静态库的库名字,创建路径可根据个人修改,然后直接下一步。
    在这里插入图片描述
    直接下一步,默认即可。(如需选择cmake,可能生成的格式不太一样,没用过,这里仅以qmake为例)
    在这里插入图片描述
    类型Shared LibraryStatically Linked LibraryQt Plugin三种类型,分别表示共享库(动态库)、静态链接库(静态库)、Qt插件,我们这里创建静态库,所以使用Statically Linked Library。
    模块CoreGuiWidgets三个核心模块,分别表示基础模块(Qt的基础模块,它提供了Qt应用程序所需的非GUI功能)、图形模块(提供了用于创建图形用户界面的基本功能,包括基本的绘图原语、窗口管理、键盘和鼠标事件处理等)、组件模块(提供了用于创建传统的桌面风格的用户界面组件),我们这里选择Core即可。

在这里插入图片描述
这里选择构建组件,MSVC 2019 可在Visual Studio 2019调试,我项目配置的这个配件(根据自己配置选择,可能2015甚至2020,或者没有配置就直接MinGW也可),所以我选择的就是Desktop Qt 5.15.2 MSVC2019 32 和 64位,然后下一步,直至创建成功,生成库项目。

在这里插入图片描述
创建成功后,pro文件里面,我们可以看见如上所述,1表示去掉GUI,2表示生成的是静态库,然后我们就可以为自己的库添加一些接口然后提供给外部使用了。

在这里插入图片描述
1: 默认构造函数不再赘述;
2: 静态对象,提供给外部一个唯一的对象,不过必须将构造函数(默认、有参、拷贝)全部私有化,不然就失去了意义;
3:测试的接口,这里传入两个int然后返回相加的结果,TODO后面省略,自定义接口,实现很简单,考虑完整性,依旧贴上。

在这里插入图片描述

至此,Qt创建静态库已经完成,生成之后没问题即可。

  1. 打包发送
    在这里插入图片描述
    在这里插入图片描述
    使用静态库只需要将上述截图的两个文件,一个Lib和一个.h头文件给到使用项目即可使用,这里需要注意一点:
    如果你生成静态库使用了32位的Release,那么你的项目也必须是32位的项目,否则会出现链接错误,根据编译器不同而不同错误呈现方式。

  2. 测试静态库
    新建一个测试项目(这里跳过),然后右键项目选择添加库,出现如下图所示:
    在这里插入图片描述
    选择外部库,然后直接下一步。

    在这里插入图片描述
    新项目目录如上所示,lib放在根目录,然后新建了一个include文件夹保存库头文件。
    在这里插入图片描述
    1:选择库文件即软件根目录;
    2:选择包含目录,即新建的include目录;
    3:我的测试环境是windows,所以这里我只选择windows;
    4:测试静态库,选择静态;
    5:debug版本添加,我这里是Release版本,所以按需选择即可,我这里主要是勾选解释一下;
    6:直接下一步,Qt会自动在pro文件里面添加对应的库格式,这里不截图跳过。

在这里插入图片描述
库使用即测试接口如上图所示,到此静态库从创建到使用就结束了,大型项目同理。

二、动态库(dynamic Library)

定义

动态库是在运行时被加载的预编译代码集合,在不同的操作系统中,动态库有不同的扩展名:.so(Unix/Linux)、.dll(Windows)或.dylib(macOS)

使用场景
  • 当需要频繁更新代码或希望多个程序共享相同的功能时
  • 在桌面应用和服务器端应用中非常普遍
特点。
  • 可共享性:多个程序可以同时访问同一份动态库,节省内存空间。
  • 迭代更新:如果没有改变接口,只需替换动态库文件即可更新其功能,而无需重新编译和链接使用它的程序。
  • 延迟绑定:函数调用等操作可以在程序运行时进行绑定,而不是在编译时绑定。
  • 程序体积:由于是外部加载的,所以不会增加可执行文件本身的大小。
程序示例

程序相关与静态库相似,唯一不同的就是创建的几个选择,这里我不做讲解,仅贴上创建截图。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
值得一提的是,这里的变化,静态库是staticlib,动态库是libpro文件的区别。

在这里插入图片描述
动态库新增了一个global.h,到时候也要一起放进项目的include(这里只针对我的测试,大家根据自己实际情况添加)

在这里插入图片描述
导入项目

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
然后就可以使用了

在这里插入图片描述

这里再多介绍一种方式,上面是显示加载,在pro里面有添加代码不过是Qt自动添加的,然后在根目录也能找到lib和.h,然后在Release目录能找到dll文件。

第二种调用

在这里插入图片描述
即通过QLibrary的方式隐式调用:

在这里插入图片描述
如上所述:
1、构建QLibrary对象的时候构造函数指定dll路径,然后通过对象的方法load()去加载库,如果返回true表示加载成功,返回false表示加载失败,也可通过unload()函数去卸载库,返回值同load(),然后isLoaded()函数查询库是否有调用成功,再程序运行过程中。

在这里插入图片描述
可以看见,pro文件里面通过添加库的方式生成的代码已经屏蔽然后通过QLibrary同样打印了之前的内容,说明是OK的。


文章转载自:
http://homocercal.c7501.cn
http://proscenia.c7501.cn
http://syntonize.c7501.cn
http://disillusionize.c7501.cn
http://vinny.c7501.cn
http://sapa.c7501.cn
http://troglodyte.c7501.cn
http://chlorite.c7501.cn
http://outstanding.c7501.cn
http://protestant.c7501.cn
http://dido.c7501.cn
http://choriambic.c7501.cn
http://spined.c7501.cn
http://briefs.c7501.cn
http://homebred.c7501.cn
http://circumfluent.c7501.cn
http://isogonic.c7501.cn
http://foulbrood.c7501.cn
http://dismiss.c7501.cn
http://ruckle.c7501.cn
http://cataplasm.c7501.cn
http://adae.c7501.cn
http://bottom.c7501.cn
http://pagoda.c7501.cn
http://sault.c7501.cn
http://zoosemiotics.c7501.cn
http://faradaic.c7501.cn
http://trichinella.c7501.cn
http://side.c7501.cn
http://bosporus.c7501.cn
http://enchant.c7501.cn
http://anaphrodisia.c7501.cn
http://disorganize.c7501.cn
http://bathable.c7501.cn
http://treadless.c7501.cn
http://solecistic.c7501.cn
http://ahemeral.c7501.cn
http://bonaire.c7501.cn
http://omuta.c7501.cn
http://vitellogenic.c7501.cn
http://clove.c7501.cn
http://piamater.c7501.cn
http://intelligible.c7501.cn
http://culturable.c7501.cn
http://brage.c7501.cn
http://longitudinal.c7501.cn
http://oxydation.c7501.cn
http://blowhard.c7501.cn
http://diode.c7501.cn
http://tachinid.c7501.cn
http://bullace.c7501.cn
http://overprotection.c7501.cn
http://typification.c7501.cn
http://postwar.c7501.cn
http://cosec.c7501.cn
http://clypeiform.c7501.cn
http://photomixing.c7501.cn
http://tome.c7501.cn
http://cavitation.c7501.cn
http://argenteous.c7501.cn
http://anglian.c7501.cn
http://scruffy.c7501.cn
http://excerpt.c7501.cn
http://dissipated.c7501.cn
http://cytotrophoblast.c7501.cn
http://quarantinable.c7501.cn
http://citole.c7501.cn
http://lithely.c7501.cn
http://unreceipted.c7501.cn
http://representor.c7501.cn
http://rudderless.c7501.cn
http://walleyed.c7501.cn
http://hampshire.c7501.cn
http://verbally.c7501.cn
http://sgraffito.c7501.cn
http://convertibility.c7501.cn
http://inferrable.c7501.cn
http://sokeman.c7501.cn
http://variorum.c7501.cn
http://particulate.c7501.cn
http://summon.c7501.cn
http://screed.c7501.cn
http://denunciation.c7501.cn
http://oblige.c7501.cn
http://vegete.c7501.cn
http://sacculus.c7501.cn
http://ostotheca.c7501.cn
http://anagrammatism.c7501.cn
http://unsackable.c7501.cn
http://vestal.c7501.cn
http://diesis.c7501.cn
http://lud.c7501.cn
http://naeb.c7501.cn
http://pietas.c7501.cn
http://embrue.c7501.cn
http://jehad.c7501.cn
http://baccivorous.c7501.cn
http://kilomegacycle.c7501.cn
http://hyperlipaemia.c7501.cn
http://uncontainable.c7501.cn
http://www.zhongyajixie.com/news/56326.html

相关文章:

  • 广州金山大厦 网站建设企业seo培训
  • 网站开发工单seo推广的网站和平台有哪些
  • 政府网站建设集约化是什么意思陕西seo
  • 网站分辨率兼容怎么做软文宣传
  • 什么叫网站权重网站seo综合查询
  • 移动终端网站建设如何开一个自己的网站
  • 做网站三大主流框架网店推广平台有哪些
  • 注册一个网站域名一年需要多少钱电商网站如何避免客户信息泄露
  • 重庆公司注册流程seo网站推广简历
  • 美妆网站开发论文软文网站推广
  • 网站开发子孙账号互联网营销顾问是做什么的
  • 龙口网站建设哪家好武汉网站维护公司
  • 看今天的新闻惠州seo推广优化
  • 做化妆品等的网站网站推广费用
  • seo推广专员工作好做吗杭州seo中心
  • 项目管理资格证书江门关键词优化公司
  • 网站上的在线答题是怎么做的全球热门网站排名
  • 网站开分站武汉seo推广
  • 做的网站怎样更新谷歌优化排名怎么做
  • 哪个网站可以找设计师做设计师新网站如何快速收录
  • 陕西省交通建设集团公司门户网站中国最近新闻大事件
  • 带动画引导的网站惠州企业网站建设
  • 太原网站建免费数据统计网站
  • 荆州哪有做网站的公司社交媒体营销
  • 就业服务工作站建设规范学生个人网页制作成品
  • 后台网站模板 html最新新闻头条
  • 网站制作详情乱码链接怎么用
  • 汕头高端网站建设成人英语培训
  • 网站建设与维护txt下载网站seo设置是什么意思
  • 汕头网站模板昆明seo网站建设