首页 > 编程语言 >c++之静态库与动态库

c++之静态库与动态库

时间:2023-04-07 13:47:19浏览次数:32  
标签:文件 lib 静态 +. c++ dll 动态 链接

一.代码分发方式

代码分发方式有三种:

 二.动态库与静态库区别

三.C/C++到可执行程序的过程:

四 总结

首先清楚,一般来说源码包含.h+.cpp两个文件,而静态库包含.h+.lib文件,动态库包含.h+.lib+.dll,明显动态库要比静态库的文件要更零散一点;

其次,要知道.h/.lib/.dll分别起到什么作用, 源文件也就是.h文件是在编译器编译阶段使用,如果编译出错会报error; .lib文件是中间文件是链接器要链接的时候使用,如果链接出错会报ErrorLink错误; .dll文件可执行文件在运行时使用,如果在运行时出错,直接会跳出报错弹窗,提示缺少.dll文件;

因此,静态库是在链接时就把相应的函数链接到了生成的可执行文件中了,此时,你把静态库删除也不会影响执行,因为合并到了模块中,是没有零散文件的; 而动态库是在可执行阶段才会去调用相应的库,因此需要依附零散的库文件;

 

参考链接:https://www.bilibili.com/video/BV1XE411k7PN/?spm_id_from=pageDriver&vd_source=f248c9c1638efde5808984db6eff8973

标签:文件,lib,静态,+.,c++,dll,动态,链接
From: https://www.cnblogs.com/david-china/p/17295869.html

相关文章

  • C++
    EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。在微软的DOS和Windows中,读取数据时终端不会产生EOF。此时,应用程序知道数据源是一个终端(或者其它“字符设备”),并将一个已知的保留的字符或序列解释为文件结束的指明;最普遍地说,它是ASCII码中的替换字符(Control-Z,代......
  • C/C++机房失物招领[2023-04-07]
    C/C++机房失物招领[2023-04-07]程序设计题:机房失物招领出题人:许棣华面向专业:软件工程难度等级:41问题描述经常有一些丢三落四的同学,在不经意的时候会丢失物品。比如:在机房,每天做值日的同学都会发现有U盘、钥匙、书本等物品被落下,他们会将这些物品放在固定位置或交由工作人员......
  • A C++ program that prints itself
    #include<iostream>usingnamespacestd;intmain(){strings="cout<<\"#include<iostream>\\nusingnamespacestd;\\n\\nintmain(){\\nstrings=\\\"\";\nfor(chari:s)\nif(i==�......
  • matlab连续潮流程序绘制PV曲线 静态电压稳定 该程序为连续潮流IEEE14节点和33节点的程
    matlab连续潮流程序绘制PV曲线静态电压稳定该程序为连续潮流IEEE14节点和33节点的程序运行出来有分岔点和鼻点可移植性强,注释详细YID:53120676973227785......
  • PageOffice——动态填充Word模板并在线编辑
    说明:使用pageoffice动态给word模板填充数据,插入图片、excel、word格式的文件和创建表格。一、准备工作:本地创建一个doc或者docx格式的文件,在文件中需要插入数据的地方设置以“PO_”开头的书签(pageoffice只能识别“PO_”开头的书签)。 二、插入图片PageOfficeCtrlp......
  • 移动端动态更新背后的原理及技术原理
    ​作为开发人员来说,掌握动态研发模式的技术和方法也有一定的价值,至少了解一个技术原理可以提高自己的技术水平和竞争力。动态研发模式在移动端应用程序开发中具有重要的价值和作用,可以帮助企业快速响应市场需求、降低开发成本、提高应用程序的稳定性和安全性、适应不同的平台和设......
  • 动态顺序表的创建
    建立头文件头文件名  SeqList.h1.构建一个结构体,结构体内的成员变量有,有效元素的个数size,该数组的容量capacity,存放数据所开辟动态空间的地址a。(a是指向动态开辟空间的指针)代码10-15行。2.创建接口动态顺序表需要完成增删查改等功能如图完整代码如下,内部也已标有注释SeqList.......
  • c++ primer第一章
    11.2cinistream类型该对象被称为标准输入;coutostream对象被称为标准输出对象。cerr来输出警告和错误信息,clog来输出程序运行时的一般性消息。 写入endl的效果是结束当前行,并将与设备关联的缓冲区中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出......
  • 实验八 静态路由
    实验八 静态路由实验目的:理解路由器的工作原理理解静态路由掌握静态路由的配置实验拓扑计算机IP地址及网关地址:PC1:192.168.1.1/24GW:192.168.1.254PC2:192.168.2.1/24GW:192.168.2.254路由器AR1接口的IP地址:G0/0/0:192.168.1.254/24G0/0/1:192.168.3.1/24路由器AR2接......
  • Mybatis-动态SQL案例
    案例根据非id两个字段删除voiddeleteBatchRelation(@Param("entites")List<AttrAttrgroupRelationEntity>entites);<deleteid="deleteBatchRelation">deletefrompms_attr_attrgroup_relationwhere--遍历循环删除itemseparator是......