Qua*_*fan 25 c++ visual-studio-2010
要使用FreeGlut librarie功能,我必须执行以下操作,
但是,整个系统(.h,.lib和.dll)如何相互关联?
我知道,最基本的事情是添加一个带有类声明的头文件,并在其各自的源文件中写入正文.最后将头文件包含在主应用程序中.
Alo*_*ave 23
您必须包含头文件,以便编译器能够理解库公开/使用的各种类型和函数的声明.
库文件(lib或dll)包含使用库链接到的代码所链接的目标代码.
对于lib,链接是静态的并且在编译时发生.使用静态库(lib)会导致可执行文件的大小增加,因为整个lib链接到您的程序.
对于dll,链接是动态的,并且在运行时调用调用.当使用dll时,可执行文件的大小不会增加,因为dll在运行时链接,并且您通常需要将它们放在预定义的路径上,以便它们可以在运行时链接.
静态库优于dll的优点是使用lib的可执行文件是独立的,而在dll的情况下,dll需要存在于运行使用它的可执行文件的预定义路径上.
Pup*_*ppy 20
头文件声明了所有内容,以便编译器知道您将提供它.
.lib文件用于告诉链接器在哪里找到实现 - 通常它们只是打包在.lib本身,但在这种情况下你有一个导入库,所以它说"在.DLL中我会动态加载在运行时".
.dll文件是实现,在运行时加载.通常你不会将它复制到你的系统文件夹,而是将它们留在你的.exe文件夹中.
| 归档时间: |
|
| 查看次数: |
16400 次 |
| 最近记录: |