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

C++学习笔记(二十八):c++ 静态库及动态库的使用

  • 静态库的使用

  • 库的使用会很大程度减少我们的工作,本节对c++中静态库和动态库的使用进行简单的介绍。
  • 静态链接库意味着这个库会被放到可执行文件中,在生成的exe中。动态链接库是在程序运行时链接的,可以在程序运行时调用加载库函数的方法来实现,Windows中通过loadLibrary函数完成,也可以在程序启动时通过加载dll文件来动态链接库。主要区别是库文件是否被编译到可执行文件中。
  • 一般网上下载的库都包含库文件和include文件,对于visiualstudio项目,我们必须把include文件指向头文件,这样我们就可以知道下载下来的库哪些函数是可以使用的,就拥有了这些函数的声明。然后,我们需要告诉链接器,我们库文件所在的位置,这样就能得到正确的函数定义。
  • 静态库的使用
  • 静态链接是在编译时发生。
  • 首先在解决方案目录下新建一个dependencies文件夹
  • 在dependencies目录下新建一个threadpool目录,将下载的thread pool里面的include和lib拷贝到该目录下
  • 在lib中会有dll文件,lib文件,dll.lib文件,dll文件是一种运行时动态链接库,在运行动态链接是会用到。dll.lib是一种静态库,包含dll中所有函数、符号的位置,也就是指向dll内容的指针,可以在编译时链接该文件,lib是静态库。
  • 在属性中添加下载库的include
  • 链接下载的库lib文件
  • 在下图划线的位置替换成自己下载的threadpool.lib所在的文件夹
  • 动态库的使用

  • 动态链接发生在运行时,意味着只有运行程序时,动态链接库才会被加载,不是可执行文件的一部分。
  • 在属性中添加下载库的include
  • 链接下载的库dll.lib文件
  • 将下载threadpool.dll文件和生成的可执行文件放在一起。
http://www.lryc.cn/news/276658.html

相关文章:

  • uniapp最简单的底部兼容安全区域显示
  • 图像去噪——CBDNet网络训练自己数据集及推理测试,模型转ONNX模型(详细图文教程)
  • 【Verilog】期末复习——解释下列名词(FPGA、ASIC、IP、RTL、EDA、HDL、FSM)
  • 计算机网络 综合(习题)
  • 探索vue2框架的世界:简述常用的vue2选项式API (二)
  • 云计算:OpenStack 分布式架构管理FLAT网络(单控制节点与多计算节点)
  • 【深度学习】cv领域中各种loss损失介绍
  • 2024年,为什么学网络安全找不到工作?这才是重要原因!
  • 很有用!小企业如何从零开始制作产品手册?
  • 基于OpenCV的图像缩放
  • 基于长短期神经网络LSTM的测量误差预测
  • `package.json`也可以有注释了
  • 数学之何为数学
  • docker容器内,将django项目数据库改为postgresql
  • 【echarts】雷达图参数详细介绍
  • 网络安全试题进阶——附答案
  • 二刷Laravel 教程(构建页面)总结Ⅰ
  • C++|19.C++类与结构体对比
  • Apache Camel笔记
  • CSDN定制的奖品谁不想要?
  • 橄榄油行业分析:预计2029年将达到298亿美元
  • Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性
  • 2. Mybatis 中SQL 执行原理
  • 平衡合规与发展天平, 激发数据要素价值
  • JAVA毕业设计118—基于Java+Springboot的宠物寄养管理系统(源代码+数据库)
  • oracle 19c容器数据库数据加载和传输-----SQL*Loader(一)
  • 超维空间M1无人机使用说明书——52、ROS无人机二维码识别与降落
  • Mac 安装Nginx教程
  • 【促销定价】背后的算法技术 1 - 业务问题拆解
  • CNAS中兴新支点——什么是安全测试,安全测试报告有什么作用,主要测试哪些内容?