【问题标题】:What is the purpose of DLLs instead of static librariesDLL而不是静态库的目的是什么
【发布时间】:2012-02-12 01:38:30
【问题描述】:

我正在使用一个库来处理与游戏开发相关的各种任务。它带有用于静态链接和动态链接的编译库文件。原谅我的短视,但我问,为什么有人会在静态库上使用 DLL 时两者都可用?如果使用 DLL,似乎这可能会引入各种程序,例如 DLL 被放错地方、丢失,并且它使软件的分发不那么方便。理论上它也可以增加程序的加载时间。我看到使用 DLL 的唯一实际好处是多个程序可以使用这些库,从而减少程序的大小。

【问题讨论】:

    标签: dll static-libraries


    【解决方案1】:

    您是对的,是的,DLL 可以在多个程序之间共享。以加载到每个用户模式 ​​Windows 应用程序中的 kernel32.dll 为例。 Windows 可以在所有正在运行的应用程序之间共享 kernel32.dll 的内存页面,但如果改为静态链接,每个应用程序都会拥有相同代码页的副本。

    Microsoft 在此处简要概述了使用 DLL 的好处: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681938(v=vs.85).aspx

    【讨论】:

      【解决方案2】:

      这个->

      ...从而减少程序的大小。

      它还允许第 3 方更新/修复功能,而无需重新编译或发布相关软件。哪个更重要...

      【讨论】:

      • 没想到。大多数软件更新都是以这种方式完成的吗?
      猜你喜欢
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多