什么是扩展名为.a的文件?

Blu*_*lub 62 c gcc shared-libraries

我下载了这个:https://github.com/mongodb/mongo-c-driver

现在我正在尝试在我的C程序中使用它,但我不知道如何处理生成的.a文件.这些是什么?我找不到任何信息,甚至在GCC手册中也没有.

我这样构建它:

  scons --c99
Run Code Online (Sandbox Code Playgroud)

另外,我可以在C89程序中使用C99库吗?

GWW*_*GWW 79

.a文件是通常由归档工具生成的静态库.您通常包含与该静态库关联的头文件,然后在编译时链接到库.

  • @Blub:既有静态库,也有共享库.在Linux中,.a是静态库(存档),而.so是共享库(共享对象). (8认同)
  • 它们被称为存档文件 (4认同)
  • 您可以使用`ar tv foo.a`查看`.a`静态库的内容.它通常是`.o`对象文件的集合. (3认同)
  • 他们怎么称呼谷歌? (3认同)

Sri*_*ram 23

.a文件是使用该ar实用程序创建的,它们是库.若要使用它gcc,收集所有.a files一个在lib/文件夹中,然后用链接-L lib/-l<name of specific library>.

所有.a文件的集合lib/是可选的.这样做可以更好地查找代码和库分离的目录,恕我直言.

  • 我都试过了,都是返回错误。 (2认同)