代码之家  ›  专栏  ›  技术社区  ›  Ashwin Nanjappa

VisualC++:什么是动态链接的LIB文件?

  •  0
  • Ashwin Nanjappa  · 技术社区  · 15 年前

    • 库编译为 .lib文件 文件。
    • 我的代码需要编译为 多线程(调试)DLL 链接到此库。

    我打开门 项目属性

    1. 运行库 选项设置为 多线程(调试)DLL .
    2. 配置类型 静态库(.lib)

    我的困惑是:

    1. 什么样的动物是动物 .lib文件 就是这样 ? 它和普通的咖啡有何不同 动态链接库 ?

    注意,我知道Linux世界中静态库和动态库之间的区别。

    3 回复  |  直到 15 年前
        1
  •  3
  •   MSalters    15 年前

    “运行库”选项与您的库无关。它告诉编译器您将从中导入函数 MSVCRTxx.DLL 在运行时。

    “configuration Type”选项确实引用了您的库,因此独立于“RunTime library”选项。

        2
  •  2
  •   Pontus Gagge    15 年前

    可以使用 LoadLibrary (或LoadLibraryEx)API,但是您必须使用 GetProcAddress 或GetProcAddressEx。你最好把函数签名弄对,否则会像往常一样发生坏事。

        3
  •  1
  •   anon anon    15 年前

    我不知道配置不匹配的原因,但是用.DLL库创建的.LIB文件是一个“导出库”——它不包含任何代码,只包含DLL中可调用函数和对象的名称。链接器使用它来满足链接时的引用,这些引用最终在运行时通过动态加载来解决。