必须C库具有.lib扩展名

时间:2011-11-09 23:18:32

标签: c

我不知道C,但需要与项目中的某些C文件进行交互。我注意到某些文件具有.lib扩展名,而其他文件(也应该是库)只有大文件夹中的.c.h个文件。

  • 这些库之间有什么区别。
  • .c.h文件夹是否也是库。
  • .lib格式是图书馆的官方格式,以及那些.c.h只是懒惰还是没有使用最佳做法的人?

4 个答案:

答案 0 :(得分:5)

.c.h文件是源代码,即文本文件。为了“使用”它们(即在计算机上执行代码),你需要将它们编译成......

.lib文件是最终结果,即二进制文件。它可以静态排列成另一个可执行文件,代码在计算机上运行。如果您不需要,这可以节省编译源代码的时间。

.lib只是一个常见的扩展名,但只要文件有效,扩展名是什么并不重要。将您的编译器/链接器指向.whatever库文件,然后让它们翻录,它最终都会解决。

答案 1 :(得分:1)

只要指定了文件,编译器就不关心扩展名。我命名我的图书馆.a。通常,源文件命名为.c,头文件命名为.h。但这只是为了方便,编译器将处理任何有效的源文件,无论名称如何。

答案 2 :(得分:1)

用C编写的程序的标准文件扩展名为.c,项目附带的头文件带有扩展名.h

.lib只是程序员选择命名库文件的一部分。它通常代表一个已编译的二进制文件,它可以静态链接到另一个可执行文件中。其他常见文件扩展名为.a.so(特别是在* NIX计算机上)。

答案 3 :(得分:1)

C 静态库通常在Windows上的.lib和Linux / Unix上的.a.so中编译。但扩展只是一个方便的问题:“你在回购中有lib吗?”

至于.h.c它们是有效的,但只是没有编译。

即使扩展名为.darthvader

,您也可以毫无顾虑地使用这两种方法