在Windows环境中调用应用程序,DLL和Lib之间的流程

时间:2015-03-06 12:52:31

标签: windows visual-c++ dll

我是Windows编程的初学者,并试图在现有的项目实现中理解DLL和lib的使用。根据我的理解,LIB和dll用于重用经过验证的代码并减少exe的大小,方法是根据需要加载它们。虽然互联网上有不少文章对此进行了解释,但我正在寻找图表的任何示例(如何从应用程序流程到Lib / dll,反之亦然)。我在项目中遇到了与资源和C / C ++配置中的lib设置不当有关的大量错误,但由于我对app-lib-dll之间调用的理解有限,我无法修复它们。 期待一些快速参考文档/链接/视频来理解这些概念。

1 个答案:

答案 0 :(得分:1)

Lib文件和DLL文件提供了在进程中包含代码的方法。对于lib文件,链接器完成此包含以向您的exe添加代码。对于DLL文件,当您的exe加载到内存中时,操作系统会在程序启动之前完成包含。因此,当您的程序启动时,所有代码都在您的进程内存中并调用lib函数或调用DLL函数以相同的方式或几乎相同的方式完成调用您自己的函数。所以"流程"您要问的是lib或DLL没有显着差异。无论被调用函数如何进入内存,调用都是一个调用。