代码之家  ›  专栏  ›  技术社区  ›  Gautam Kumar

C语言库文件

c
  •  1
  • Gautam Kumar  · 技术社区  · 14 年前

    是库文件 .o .exe 用C写的文件?

    5 回复  |  直到 14 年前
        1
  •  13
  •   Michael Mrozek    14 年前

    两者都不是;通常地 .o 文件是对象文件 .exe

    • Linux中的静态库是 .a
    • Linux中的动态库是 .so
    • Windows中的静态库 .lib
    • Windows中的动态库 .dll
        2
  •  5
  •   Bill Lynch    14 年前

    它更多地依赖于操作系统而不是语言。

    • 在Windows中,它们可能是.dll文件。
    • 在Linux中,它们可能是.a或.so文件。
        3
  •  3
  •   zvrba    14 年前

    都不是。这也取决于平台。而且,文件扩展名只是约定的,库可以有任何其他扩展名或根本没有扩展名。

        4
  •  1
  •   Praveen S    14 年前

    答案是库既不是*.o也不是*.exe。命名约定也取决于您正在编译的平台。 *.so文件是共享库。是Linux平台上的静态库。

    您可以在编译时指定选项来构建库。

    Here 您可以查看有关共享库的更多信息,以及这些库的编译和生成选项。

        5
  •  1
  •   woolstar    11 年前

    在linux中,库文件是一个或多个.o文件的存档。Linux使用“ar”程序(想想没有磁带的“tar”)来创建归档文件。将它们捆绑在一起之后,然后使用ranlib程序添加一些索引。

    ar rc mylib.a source1.o source2.o source3.o
    ranlib mylib.a