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

时间:2011-05-11 13:36:36

标签: c gcc shared-libraries

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

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

我是这样构建的:

  scons --c99

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

2 个答案:

答案 0 :(得分:76)

.a个文件是static库,通常由archive tool生成。您通常包含与该静态库关联的头文件,然后在编译时链接到库。

答案 1 :(得分:21)

.a文件是使用ar实用程序创建的,它们是库。要将其与gcc一起使用,请收集.a files文件夹中的所有lib/,然后与-L lib/-l<name of specific library>相关联。

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