.dll.lib.dll.a 的区别
Posted 想文艺一点的程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.dll.lib.dll.a 的区别相关的知识,希望对你有一定的参考价值。
我们已 ffmpeg 的动态链接库为例,描述一下这三个文件的作用:
目录整体结构:
分析 bin 目录:
- ffmpeg、ffplay、ffprobe 之所以这么小,是因为他们运行的时候会调用
.dll
文件当中的代码。 - dll:真正存放函数体的地方。
分析 lib 目录:
- 里面有三种文件后缀分别为:.lib、.def、.dll.a 。
- .def:暂时还不太清楚。
- .lib:用于MSVC编译器中 (MSVC 微软自己的编译器)
- .dll.a:用于MinGW编译器中(MinGW gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写)
这三个文件里面并不存放真正的函数代码本体。
只是包含了函数所在的DLL文件和文件中 函数位置的信息(索引),函数实现代码由运行时加载在进程空间中的DLL提供
include:存放对应的头文件信息。
以上是关于.dll.lib.dll.a 的区别的主要内容,如果未能解决你的问题,请参考以下文章
jquery 对象的 heightinnerHeightouterHeight 的区别以及DOM 元素的 clientHeightoffsetHeightscrollHeightoffset(代码片段