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

做站用什么网站程序设计制作海报教案

做站用什么网站程序,设计制作海报教案,怎样做网站推广啊视频,吉化北建公司官网Qt创建SDK库(dll动态库)并调用SDK库(dll动态库) 一、项目场景 在日常的项目中#xff0c;我们经常会遇到调用别人的数学库、线程库、图形库等操作。这些库通常就被称为SDK#xff0c;SDK全称是Software Development Kit#xff08;软件开发工具包#xff09;#xff0c;…Qt创建SDK库(dll动态库)并调用SDK库(dll动态库) 一、项目场景 在日常的项目中我们经常会遇到调用别人的数学库、线程库、图形库等操作。这些库通常就被称为SDKSDK全称是Software Development Kit软件开发工具包是软件开发中用到的开发工具集合。 SDK通常就是封装为单一功能的功能库比如语音识别SDK。 很早之前API的集合也被称之为SDK。 在windows系统中DLL库提供了API函数的声明和导入库.lib而SDK也是提供windows下程序开发所需的文件和工具的“工具包”SDK包含了使用API所需的资料所以通常也罢使用API编程来编写windows应用程序的开发方式叫做SDK编程。 二、静态链接库和动态链接库 静态链接库和动态链接库的区别主要是依照调用方式来区分的即静态链接和动态连接 静态连接指在创建应用程序的时候将库集成进去这样做的好处就是应用程序包自身可以独立运行而不好的地方就是包会略显臃肿库不能共享静态库windows 下以 .lib 结尾、linux 下以 .a 结尾动态连接创建应用的时候只约定好与库之间的调用关系而不彻底将库包集成进应用。这样在应用运行时需要运行环境中提供库并且连接装载。但由于本身不集成库内容会比较小同时也为和其他应用共享库的使用提供了可能动态库是windows 下以 .dll 结尾、linux 下以 .so 结尾。 1、静态库 静态库链接时会被完整的复制到可执行文件中所以如果两个程序都用了某个静态库那么每个二进制可执行文件里面都会含有这份静态库的代码 2、动态库 动态库链接时不复制而是在程序启动后动态加载然后再进行符号决议符号绑定。理论上动态库只存在一份就可以了。其他的程序都可以动态链接到这个动态库上面从而节省内存内存中只有一份动态库。另外一个好处是由于动态库并不绑定到可执行程序上所以我们想升级这个动态库就很容易windows和linux上面一般插件和模块机制都是这样实现的。 3、优缺点对比 静态库动态库优点1. 目标程序没有外部依赖直接就可以运行。2. 效率较动态库高。1. 不需要拷贝到目标程序中不会影响目标程序的体积。2. 同一份库可以被多个程序使用因为这个原因动态库也被称作共享库。3. 编译时才载入的特性也可以让我们随时对库进行替换而不需要重新编译代码。实现动态更新缺点1. 会使用目标程序的体积增大。1. 动态载入会带来一部分性能损失(可以忽略不计2. 动态库也会使得程序依赖于外部环境。如果环境缺少动态库或者库的版本不正确就会导致程序无法运行Linux lib not found 错误。 三、Qt下动态库的创建 1、打开Qt Creator点击“新建文件或项目” 选择一个模板“Library”-C库-Choose... 类型选择“共享库”名称中输入exampleDLL Kits选择 可以看到创建的项目 我们在exampledll.h头文件编写示例代码 #ifndef EXAMPLEDLL_H #define EXAMPLEDLL_H#include exampledll_global.hclass EXAMPLEDLLSHARED_EXPORT ExampleDLL {public:ExampleDLL();int add(int a, int b);int subtract(int a, int b);int multiply(int a, int b);int divide(int a, int b); };#endif // EXAMPLEDLL_H 在exampledll.cpp文件中编写实现代码 #include exampledll.hExampleDLL::ExampleDLL() { }int ExampleDLL::add(int a, int b) {return ( a b ); }int ExampleDLL::subtract(int a, int b) {return ( a - b ); }int ExampleDLL::multiply(int a, int b) {return ( a * b ); }int ExampleDLL::divide(int a, int b) {return ( a / b ); } release模式下编译成功后可以在release文件夹下面看到生成的exampleDLL.dll和exampleDLL.lib至此动态库编译就结束了下面我们开始调用。 四、Qt下动态库的调用 通过上面的一步我们完成了动态库的创建现在我们开始调用创建的动态库。 1、使用Qt Creator创建一个控制台程序callExampleDLL。 2、把上面编译后的exampleDLL.dll拷贝到callExampleDLL工程release文件夹下 3、把上面编译后的exampleDLL.lib和exampledll.h、exampledll_global.h。拷贝到callExampleDLL工程目录下 4、在callExampleDLL项目中把exampledll.h、exampledll_global.h头文件添加进来 5、在pro文件中添加 LIBS -L$$PWD -lexampleDLL 在代码中需要包含要调用的头文件。 具体的调用代码如下所示 #include QCoreApplication #include QDebug #include exampledll.hint main(int argc, char *argv[]) {QCoreApplication a(argc, argv);ExampleDLL example;int a1 10;int b1 5;qDebug()test call dll.;qDebug()a1 b1 example.add(a1,b1);qDebug()a1 - b1 example.subtract(a1,b1);qDebug()a1 * b1 example.multiply(a1,b1);qDebug()a1 / b1 example.divide(a1,b1);return a.exec(); } 五、demo运行结果 我们看下调用的效果 上一篇 下一篇 本文原创作者冯一川ifeng12358163.com未经作者授权同意请勿转载。
http://www.w-s-a.com/news/5603/

相关文章:

  • h5响应式网站模板下载wordpress鼠标指针
  • 摄影作品投稿网站目前最好的引流推广方法
  • 资源站源码永久dede网站搬家 空间转移的方法
  • 网站建设销售的技巧话语it培训机构
  • 自建本地网站服务器wordpress南充房产网最新楼盘最近房价
  • 郑州代做网站天津哪里能做网站
  • 网站如何做排名网站建设项目的工作分解
  • 洛阳网络建站公司网站开发主流语言
  • 广州各区正在进一步优化以下措施seo值是什么意思
  • 滨州建网站公司京东云 wordpress
  • 网站视频背景怎么做免费的网络推广有哪些
  • 申请网站怎样申请广西壮族自治区专升本业务系统
  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设
  • 怎么查网站是在哪里备案的广州电力建设有限公司网站
  • 做网站自己申请域名还是对方wordpress管理地址
  • 专门做二手书网站或appwordpress首页显示特定分类文章
  • 无锡网站设计厂家一建十个专业含金量排名
  • 网站刷链接怎么做成都高度网站技术建设公司
  • flash网站模板怎么用xml网站地图生成
  • 英文网站优化群晖wordpress中文
  • saas建站平台源码济南品牌网站建设公司
  • 网站建设一般是用哪个软件网站百度
  • 企业建站的作用是什么南宁公司网站开发
  • 厦门网站建设及维护门户网站开发视频教学
  • 可以做兼职的网站有哪些自动点击器永久免费版
  • 建购物网站怎么建呀网站怎么做中英文交互
  • 网站建设费用计入无形资产做网站用的主机