动态加载vs静态加载
动态加载:
2、在.cpp文件中通过#pragma comment(lib, "a.lib") 加载lib,并包含相应的头文件,就可以使用dll中的函数了~
程序库可分三类:静态库,共享库和动态加载库。
静态库,是在执行程序运行前就已经加入到执行码中,在物理上成为执行程序的一部分;共享库,是在执行程序启动时加载到执行程序中,可以被多个执行程序共享使用。动态加载库,其实并不是一种真正的库类型,应该是一种库的使用技术,应用程序可以在运行过程中随时加载和使用库。
建议库开发人员创建共享库,比较明显的优势在于库是独立的,便于维护和更新;而静态库的更新比较麻烦,一般不做推荐。然而,它们又各有优点,后面会讲到。在C++编程中,要使用动态加载技术,需要参考文章"C++ dlopen MINI-Howto"。
静态库可以认为是一些目标代码的集合。按照习惯,一般以".a"做为文件后缀名。使用ar(archiver)命令可以创建静态库。因为共享库有着更大的优势,静态库已经不被经常使用。但静态库使用简单,仍有使用的余地,并会一直存在。
静态库在应用程序生成时,可以不必再编译,节省再编译时间。但在编译器越来越快的今天,这一点似乎已不重要。如果其他开发人员要使用你的代码,而你又不想给其源码,提供静态库是一种选择。从理论上讲,应用程序使用了静态库,要比使用动态加载库速度快1-5%,但由于莫名的原因,实际上可能并非如此。由此看来,除了使用方便外,静态库可能并非一种好的选择。
转载于:https://www.cnblogs.com/loanhicks/p/7413999.html
动态加载vs静态加载相关推荐
- 动态加载和静态加载及其编译步骤
在类unix操作系统中,驱动加载方式一般分为:动态加载和静态加载,下面分别对其详细论述. 一.动态加载 动态加载是将驱动模块加载到内核中,而不能放入/lib/modules/下. 在2.4内核 ...
- Linux动态库的动态加载与静态加载以及加载依赖了其他动态库的动态库
Linux动态库加载 在Linux下,动态库格式一般为libxxx.so或者libxxx.so.3这种格式. 通常我们在网上下载下来源码包,编译之后会是libxxx.so软连接libxxx.so.1链 ...
- python 动态加载与静态加载_python中的元类、静态方法、类方法,动态添加方法...
首先介绍几个概念: 1.#所谓的静态方法就是这个方法任何类都可以调用,程序一加载就存在的方法 2.所谓的类方法就是这个类一加载就存在的方法,不用实例化这个类就已经存在的方法 3.所谓的元类就是创建类的 ...
- python 动态加载与静态加载_python+django加载静态网页模板解析
今天我们来看看Django是如何加载静态html的? 我们首先来看一看什么是静态HTML,什么是动态的HTML?二者有什么区别? 静态HTML指的是使用单纯的HTML或者结合CSS制作的包括图片.文字 ...
- 静态链接库(LIB)和动态链接库(DLL),DLL的静态加载和动态加载,两种LIB文件。
静态链接库(LIB)和动态链接库(DLL),DLL的静态加载和动态加载,两种LIB文件. 一. 静态链接库(LIB,也简称"静态库")与动态链接库(DLL,也简称"动态库 ...
- 软件库Library之静态库\动态库和静态加载\动态加载
软件库Library之静态库\动态库和静态加载\动态加载 动态库之导入库 https://blog.csdn.net/wallaceli1981/article/details/5740718 * 动 ...
- Ng-Zorro框架静态加载SVG图标
ng-zorro-antd 是遵循 Ant Design 设计规范的 Angular UI 组件库.提供了丰富的常用页面组件.其中NzIconModule 提供了图标功能,可以方便地使用各种框架自带的 ...
- VC静态加载DLL和动态加载DLL
VC静态加载DLL和动态加载DLL 1. 静态加载DLL 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头 ...
- 动态(静态)加载DLL注意
动态加载DLL的方法与注意的问题 动态加载DLL的方法: 1. 生成dll过程:把生成的.DLL文件复制到测试工程DLLTest目录下.这里假设该.DLL文件为add.dll,主要代码是: // .h ...
最新文章
- 从零开始在ubuntu上安装和使用k8s集群及报错解决
- tasker使用手册_如何开始使用Tasker调整Android手机
- IO多路转接模型----(select的模型,select的优缺点,poll的模型,poll的优缺点)
- [react] 你最不喜欢React的哪一个特性(说一个就好)?
- Linux 线程占用CPU过高定位分析
- 定积分算法java_变步长梯形积分算法求解函数定积分
- java怎么对作者名排序_Java 对象排序详解
- python编写个人信息_Python爬取个人微信朋友信息操作示例
- centOS7安装node+mongoDB+redis+express(forerver)+nginx+https
- 非计算机专业计算机教学考试,论非计算机专业的计算机教学与等级考试
- 软件系统服务器端要求用千兆宽带,【硬核分享】升级千兆网络而速度却达不到?这些操作你做对了吗?...
- 二维码是什么?java生成二维码
- 微信JS-SDK说明文档
- 双重差分法之PSM - DID
- Github开源项目总结
- 海量固定资产如何进行盘点?
- [转]solaris 10 使用手册
- Android 面试题 android中级---初级---知识点
- 3.Hadoop Hive服务
- 题解2020届天梯赛总决赛L2-4哲哲打游戏
热门文章
- 什么是mysql事物定义_Mysql事务原理
- idea for mac 控制台 mvn command not found
- github设置仓库可见性 私人仓库设置
- Spring系列(八):Spring生命周期中BeanPostProcessor接口用法介绍
- IDEA中安装配置Jrebel热部署插件用法笔记
- ASP.NET MVC ActionFilter自定义过滤器异常过滤器过滤器用法
- python编程第四版_清华编程教授强力推荐《Python编程》,指导你如何学习python
- 能让你少写1000行代码的20个正则表达式
- Windows下Mysql 的安装和卸载
- 【课后服务】20181022切蛋糕