4

我目前正在制作一个小型的可重用代码库,这些代码已经被证明是有用的,我想知道这些库通常是如何部署的?我的印象是 .dll 和 .lib 就足够了,但是,我如何引用类和函数?一个库是否也带有很多 .h 文件很常见,还是有更优雅的解决方案?

使用该库的实际应用程序的部署如何?静态链接后,我还需要发送 .dll 文件还是将库的内容复制到程序中?

4

2 回答 2

6

根据经验,您将所有想要向最终用户公开的公共方法收集在一组称为 API 的标头中。此时,你应该区分内部头和API头,你会发现你的头文件数量(API头)会减少,文件结构的管理会容易很多。

于 2013-03-21T10:57:21.533 回答
5

交付库时包含三个基本组件:

  • 库本身的几个版本:.so在 Unix.dll.libWindows 下,带有调试版本,优化版本,可能是多线程和单线程,可能是激活分析的版本......支持静态链接(.a在 Unix 下,.lib在 Windows 下,但不是与您需要链接 DLL 的相同),

  • 定义外部接口的标头,以及

  • 文档,解释如何安装和链接库,每个版本需要哪些编译器选项等,以及库本身的文档(每个函数的前置和后置条件等)

少一点,客户就无法使用它。

关于部署,同样,这应该记录在案。如果客户端静态链接库,则不需要任何内容​​;如果他动态链接它,那么他也需要部署.so/.dll文件。

于 2013-03-21T11:10:33.777 回答