动态库是否为您链接其他库?

时间:2013-05-05 20:55:04

标签: dll dynamic-linking

我注意到当你使用像SFML这样的库时你不必自己链接opengl32.lib而我真的很想知道这是怎么回事,因为我必须在使用我自己的多媒体的项目中链接opengl32库这是一个静态库?是仅仅因为SFML库是动态库而且在SFML项目中链接了opengl32? 这不是关于SFML的问题,而是关于所有DLL的一般问题。

2 个答案:

答案 0 :(得分:2)

是的,DLL可以引用其他DLL,或者在内部静态编译它们。为了检查外部依赖关系,Microsoft很久以前开发了一个名为Dependency Walker的工具,您可以在其中拖动DLL或可执行文件并查看它所依赖的DLL(因此会自动加载)。默认情况下,该工具以前随Visual Studio一起提供,但您现在可以download it from here for free。该页面解释了其他一切。

答案 1 :(得分:1)

如果动态库正在使用另一个动态库,它将自动加载到进程中,是的。