我不知道C,但需要與項目中的一些C文件進行交互。我注意到有些文件具有.lib
擴展名,而其他文件(它們也應該是庫)僅在大文件夾中有.c
和.h
文件。必須C庫有.lib擴展名
- 這些庫有什麼區別。
.c
和.h
文件夾也是庫。.lib
格式的圖書館和這些傢伙誰做.c
和.h
只是懶惰或不使用最佳實踐的官方格式?
我不知道C,但需要與項目中的一些C文件進行交互。我注意到有些文件具有.lib
擴展名,而其他文件(它們也應該是庫)僅在大文件夾中有.c
和.h
文件。必須C庫有.lib擴展名
.c
和.h
文件夾也是庫。.lib
格式的圖書館和這些傢伙誰做.c
和.h
只是懶惰或不使用最佳實踐的官方格式?.c
和.h
文件是源代碼,即文本文件。爲了「使用」它們(即,在計算機上執行該代碼),需要將它們編譯成...
a .lib
文件是最終結果,即二進制文件。它可以靜態地排列到另一個可執行文件中,並且代碼可以在計算機上運行。如果不需要,這可以節省編譯源代碼的時間。
.lib
只是一個常見的擴展名,但只要文件有效,延伸是什麼並不重要。將你的編譯器/鏈接器指向庫文件,讓它呃翻譯,最終它們全部解決。
只要文件被指定,編譯器就不關心擴展名。我命名我的圖書館.a。通常,源文件被命名爲.c,頭文件命名爲.h。但這僅僅是爲了方便,編譯器可以在任何有效的源文件上工作,不管名稱如何。
用C編寫的程序的標準文件擴展名是.c
,隨項目附帶的頭文件帶有擴展名.h
。
.lib
只是一些程序員選擇命名他們的庫文件。它通常代表可以靜態鏈接到另一個可執行文件的編譯二進制文件。其他常見文件擴展名是.a
和.so
(特別是在* NIX機器上)。
Ç靜態庫通常編譯.lib
Windows和.a
或.so
在Linux/Unix。但擴展只是一個方便的問題:「你有回購的lib
!?」
至.h
和.c
他們是有效的,但只是沒有編譯。
即使擴展名爲.darthvader