※ 引述《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,或许其他板友会有心得