【问题标题】:.lib files generated by VS2010VS2010生成的.lib文件
【发布时间】:2014-04-02 16:02:38
【问题描述】:

使用任何 C++ VS2010 解决方案,

  • .lib 是什么?为什么不总是通过 DLL 将程序链接到库?

  • 在 VS2010 中构建程序是生成 .lib 的唯一方法吗?

【问题讨论】:

    标签: c++ windows visual-studio-2010 dll static-libraries


    【解决方案1】:

    链接到 DLL 的 .lib 文件称为“导入库”,它确实是一个静态库(尽管是一种特殊的静态库)。它只是一个静态库,包含在加载时导入 DLL 的大量代码,换句话说,它充当您的代码和动态库之间的“中间人”。

    如果您创建一个“静态库”,您最终会得到一个大的 .lib 文件,其中包含该库中函数的所有编译代码。如果您随后使用该库创建可执行文件,则所有代码都会在链接时复制到可执行文件中。这会生成一个更大的可执行文件,但它在运行时不依赖于单独的 DLL 文件。

    如果您创建一个“动态库”,您最终会得到一个大的 .dll 文件和一个小的 .lib,如前所述。库中函数的所有编译代码都在 .dll 文件中。现在您的最终可执行文件更小了,因为代码不会在链接时复制到可执行文件中,但是 .dll 文件必须与可执行文件一起发送,除非您可以依赖它已经正确安装在最后-用户的计算机。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-07
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多