DLL系列---Dll的隐式链接和显示链接
一. 首先我们需要明确几个关于DLL概念
显示链接、隐式链接,动态调用、静态调用,动态链接库、静态链接库、Import导入库。动态调用即显示链接,静态调用即隐式链接,在后面主要也围绕这两种链接方式展开。先解决这几个链接库吧,动态链接库(Dynamic Linked Library)缩写就是DLL就是将一些api函数写入到一个dll文件中在程序在程序运行是再加载到程序的进程空间中使用,这样可以让运行程序本身体积较小,方便模块化编程。后缀名一般是.dll,常用的dll比如说windows中常用的User32.dll、Lpk.dll和Linux中的so文件类似。静态链接库(StaticLibrary)和动态链接库作用基本相同但是静态链接库在编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其它模块组合起来创建最终的可执行文件(.EXE文件),所以组成的exe文件体积较大。静态链接库后缀名一般为.lib。Import导入库就综合了两种库包含两种文件.dll和.lib文件,.dll文件和上面的动态链接库相同可能包含导出函数和数据等但这里的.lib文件就和静态链接库有所不同这里的.lib文件只是包含一些被DLL导出的函数和变量的符号名,一般称这个lib文件为引入库(这里用到的两个文件链接的方法即是后文将说明的隐式链接)。