动态链接与静态链接

4人阅读 评论(0) 收藏 举报
分类:

库文件

库文件可以提供直接拿来用的函数、变量等,它可以分为两种

1)第一种库文件(*.lib)可以看作是多个目标文件(.obj)的集合,而obj文件和lib文件链接依然是多个目标文件的链接

2)另一种库文件不是 *.lib,但和 *.lib 有关。这时lib不是多个obj的集合,它只提供动态链接到库文件所需要的信息,库文件的格式为 *.dll 。

上诉的第一种库文件(*.lib)称为静态链接库,第二种库文件(*.dll)称为动态链接库。


静态链接与动态链接

静态链接

静态链接是由链接器在链接时,将静态链接库文件加入到可执行程序的做法。

采用完全的静态链接所生成的exe程序可以在其他windows系统的电脑上直接运行。


动态链接

编译后链接时,链接器不会将库文件(.dll)加入到可执行程序中,而只加入相应的动态链接所需的信息。

当程序运行时,再将其与库文件进行链接。


链接的时机

静态链接是指在编译后所进行的链接操作;(编译时)

动态链接时指程序在运行时所进行的链接操作。(加载、运行时)

当exe程序有部分是采用动态链接的方法时,必须将相应的dll文件与exe放在同一目录下才能在其他电脑上运行。


如何生成库文件(未完成)


查看评论

理解静态链接与动态链接

转自:http://burningcodes.net/%E7%90%86%E8%A7%A3%E9%9D%99%E6%80%81%E9%93%BE%E6%8E%A5%E4%B8%8E%E5%8A%A8%...
  • earbao
  • earbao
  • 2016-12-29 22:34:30
  • 729

动态链接和静态连接的优缺点

1 静态链接库的优点   (1) 代码装载速度快,执行速度略比动态链接库快;   (2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上....
  • sunweixiang1002
  • sunweixiang1002
  • 2016-11-15 23:20:26
  • 739

静态链接库和动态链接库的区别及优缺点

文章出处:http://www.cnblogs.com/gaoyihan/p/4723332.html     静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不...
  • MACMACip
  • MACMACip
  • 2017-01-21 14:50:12
  • 5537

动态链接库和静态链接库区别

  • 2010年10月19日 17:37
  • 262KB
  • 下载

静态库,动态库,静态链接和动态链接

静态库,动态库,静态链接和动态链接这几个概念理解起来很简单,本文主要是收集了网上的一些观点作了一个较全面的总结。 一、问题 1,静态库是什么? 2,动态库是什么? 3,两者的区别? ...
  • rangf
  • rangf
  • 2012-11-07 18:01:54
  • 3220

linux下动态与静态链接库的使用及区别

1.为什么要有链接库我们平时在写C代码时一定会经常重复写某些很多程序中都经常用到的代码,比方说字符串的简单操作函数,或者链表等。那么我们如何能避免老是重复的去写这些基础的代码呢?也许你会不假思索的想到...
  • Shreck66
  • Shreck66
  • 2015-11-02 09:56:01
  • 10992

程序动态链接、静态连接的对比(优缺点)

为什么要动态链接?   也可以问,动态链接相对于静态连接有啥好处?首先明确动态链接和静态连接的区别:静态连接就是在程序编译阶段,将程序需要的所有东西打包放到一起;而动态链接是在程序需要运行时,根据...
  • qianlong4526888
  • qianlong4526888
  • 2012-10-24 20:52:06
  • 4293

JVM--详解虚拟机字节码执行引擎之静态链接、动态链接与分派

这篇博客主要带你认识何谓静态链接、动态链接。并且会讲述JVM中分派的知识,让你对Java中的多态实现机制有一个浅显的认识。 前言 从接触Java语言的第一天起,往后,我相信你一定听过什么动...
  • championhengyi
  • championhengyi
  • 2017-12-09 22:46:52
  • 1092

编译器链接过程 静态链接 动态链接

理解链接有很多好处: 有助于构造大型程序有助于避免一些危险编程错误有助于理解其他重要的系统概念让你能够利用共享库 1. 编译器驱动程序 编译命令,假设有main.c和swap.c两个...
  • u012409883
  • u012409883
  • 2015-11-01 16:58:14
  • 1446

程序的静态链接,动态链接和装载

转自:程序的静态链接,动态链接和装载 参考自:http://www.xuebuyuan.com/1730287.html 一、程序编译链接的整体流程 二、目标文件的样子(以lin...
  • Together_CZ
  • Together_CZ
  • 2017-04-14 09:59:07
  • 476
    个人资料
    等级:
    访问量: 17
    积分: 132
    排名: 319万+
    文章存档