整理自百度知道:https://zhidao.baidu.com/question/577526027.html
不一定需要。創建一個庫一般處於一下兩種目的:
1、把一些相關的代碼,打包成一個庫,發布給其它的人用。
這中情況是最常見的情況,如寫 C 語言用到 libgcc。在這種情況下,你除了提供庫文件:靜態庫[ windows 下 .lib,linux .a];動態庫:[Windows 下 .dll,Linux 下 .so] 之外,必須提供頭文件。頭文件是你這個庫里面提供了那些接口可以供外界使用。如果沒有頭文件,其他人無法使用。
2、為某些軟件寫插件。
很多大的項目,都是模塊化設計,留有一些特定的接口,方便定制。當程序運行時,會動態加載制定目錄下的動態庫,運行時調用動態庫里面約定好的方法。
這種情況無需提供頭文件,但要按照特定的約定來實現這個庫。
大概就是以上這些情況。