2011-11-09 91 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

您可以使用這兩種方法而不用擔心
相關問題