动态链接库和组件包

第15章 动态链接库和组件包

DLL是编写Windows应用程序的关键组成部分。

动态链接库概述

动态可加载库(DLL)是一些过程的集合,这些过程可以被应用程序、其他的动态链接库或共享对象调用。和单元一样,动态可加载库含有共享的代码和资源。然而,这种库单独被编译成可执行文件,在运行时连接到使用它的程序。

Delphi程序可以调用其他语言编写的动态链接库(DLL)或共享对象,而用其他语言编写的应用程序也可以调用由Delphi编写的动态链接库(DLL)或共享对象。

动态链接库的概念

  动态链接库是相对静态链接而言的。所谓静态链接是把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。换句话说,函数和过程的代码就在程序的.exe文件中,该文件包含了运行时所需要的全部代码。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就造成了内存资源的浪费。而动态链接库不用重复编译或链接,一旦装入内存,DLL函数就可以被系统中的任何正在运行的应用程序软件所使用,而不必再次装入内存。

  DLL是从C语言函数库和Pascal库单元的概念发展而来的。所有的C语言标准库函数都存放在某一函数库中,同时用户也可以用LIB程序创建自己的函数库。在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码。

原文地址:https://www.cnblogs.com/spongebob123/p/4136696.html