- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c静态库与动态库的区别
?c++静态库与动态库的区别分类:?C++2012-11-26 11:41?3621人阅读?评论(1)?收藏?举报如果对Linux下静态链接库和动态链接库感兴趣,请狂点击 --你懂的一,概念??????? 1)静态链接库就是你使用的.lib文件,库中得代码最后需要连接到你的可执行文件中去,所以静态连接的可执行文件一般比较大一些。 ?????? 使用方法 ???????????????????? 1? 格式如:#pragma comment(lib,XXX.lib) ???????????????????? 2? 针对开发环境: ?????????????????????????????????? 1、如果使用VC,可以在Project Setting--gt;Link中加入你的静态库,也可以直接把该.lib文件加入到你的工程中?????????????????????????????????? 2、如果使用Visual Studio,位置在 项目→配置属性→连接器→输入→附加依赖项 中加入.lib文件 ?????? 构造方法??????????????????????????? 在静态库情况下,函数和数据被编译进一个二进制文件(通常扩展名为*.lib),Visual C++的编译器在链接过程中将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件。这个过程称为静态链接,此时因为应用程序所需的全部内容都是从库中复制了出来,所以静态库本身并不需要与可执行文件一起发行。???????????????编程使用:使用lib需注意两个文件:?????????????????????? (1).h头文件,包含lib中说明输出的类或符号原型或数据结构。应用程序调用lib时,需要将该文件包含入应用程序的源文件中。?????????????????????? (2).lib文件,见上面。???????? 2)Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。?????????????? DLL举例?????????????????????????????? ActiveX 控件(.ocx) 文件: 示例是日历控件,它使您可以从日历中选择日期。 ·????????????????????????????? 控制面板(.cpl) 文件 :cpl 文件的一个示例是位于控制面板中的项。每个项都是一个专用 DLL。 ·???????????????????? 设备驱动(.drv) 文件??????????????? 编程使用;?????????????????????????? 使用dll需注意三个文件:???????????????????????????????????? (1).h头文件,包含dll中说明输出的类或符号原型或数据结构的.h文件。应用程序调用dll时,需要将该文件包含入应用程序的源文件中。???????????????????????????????????? (2).LIB文件,是dll在编译、链接成功之后生成的文件,作用是当其他应用程序调用dll时,需要将该文件引入应用程序,否则产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。??????????????????????????????????? (3).dll文件,真正的可执行文件,开发成功后的应用程序在发布时,只需要有.exe文件和.dll文件,并不需要.lib文件和.h头文件。二,初步认识?????????????? 共有两种库:???????????????????????????? 一种是lib包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。???????????????????????????? 一种是lib包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。????????????? 共有两种链接方式:??????????????????????????? 动态链接使用动态链接库,允许可执
您可能关注的文档
- CCTV-6电影频道影片精选(附照片).doc
- CCTV经济半小时寻找中国经济增长新引擎IT篇.doc
- CCTV钢琴小提琴大赛颁奖音乐会流程.doc
- CCTV-1《人口》站起来的“面条”兄弟.doc
- CC动态链接库的创建与调用.doc
- CC指令#undef#ifdef#ifndef#if的用法.docx
- CentOS-6.3安装配置cmake.docx
- CentOS5.2系统安装在虚拟机上编译gcc.docx
- CC连接MySQL(GCC版)以及VC.docx
- CCNA2第二学期final2.docx
- 剧本杀市场新变革:2025年商业模式创新与消费者行为洞察.docx
- 2025数字藏品交易监管政策及市场分析报告.docx
- 2025年航空电子设备国产化替代产业链产业政策环境分析报告.docx
- 2025年新能源汽车电池回收利用政策法规与市场前景分析报告.docx
- 2025年航天军工企业民品市场拓展策略报告.docx
- 数字藏品市场准入机制与行业创新能力研究报告.docx
- 2025年短视频平台算法推荐机制对青少年认知发展模式的优化策略报告.docx
- 2025剧本杀行业人才流失原因及行业人才流失风险控制研究报告.docx
- 2025年智慧社区医疗平台健康管理服务与医疗资源整合报告.docx
- 新能源电动巡逻车在智慧城市建设中的AI算法应用前景报告.docx
文档评论(0)