2011-11-09 62 views
3

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

  • 这些库有什么区别。
  • .c.h文件夹也是库。
  • .lib格式的图书馆和这些家伙谁做.c.h只是懒惰或不使用最佳实践的官方格式?

回答

5

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

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

.lib只是一个常见的扩展名,但只要文件有效,延伸是什么并不重要。将你的编译器/链接器指向库文件,让它呃翻译,最终它们全部解决。

1

只要文件被指定,编译器就不关心扩展名。我命名我的图书馆.a。通常,源文件被命名为.c,头文件命名为.h。但这仅仅是为了方便,编译器可以在任何有效的源文件上工作,不管名称如何。

1

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

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

1

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

.h.c他们是有效的,但只是没有编译。

即使扩展名为.darthvader

您可以使用这两种方法而不用担心
相关问题