※ 引述《XAMDOU (薩姆德)》之銘言:
: 最近在看 c++ 的 package management framework
: 有看到一套 conan: https://conan.io/
: 搜尋一下資料感覺還是懵懵懂懂
: 各位大大有推薦的學習資源嗎?
: 或是有沒有任何一些好/壞心得分享?
: 感謝各位大大!
原本 C (和 C++) 沒有什麼套件的概念
在類 Unix 系統上就是直接用標頭檔和函式庫 (動態或靜態)
頂多 Windows 上多個 .lib 來儲存公開介面相關的資訊
許多類 Unix 系統會額外包裝這些 C (或 C++) 函式庫
使用起來的感覺和其他現代語言的套件差不多
但骨子裡其實還是使用標頭檔和函式庫 只是管理上比較方便
由於 C (和 C++) 沒有規範套件的格式
基本上就是每個系統各自做自已的輪子 而且還互不相通
另外,C (和 C++) 要從原始碼編譯
不像 Java 那樣以虛擬機器將系統抽象化
現行的做法是每個系統先預先編好原始碼,以 binary 形式發布
另外一種做法是將編譯的流程自動化,像 Homebrew
回到一開始提的 conan,這套軟體基本上就是綜合考慮以下兩件事而成的産物
- 編譯自動化 (build automation)
- 軟體套件系統 (package management system)
因為要考慮和現行軟體專案接軌,所以看起來比較複雜
但小弟還沒有機會玩 conan,或許其他板友會有心得