库通常带有头文件吗?

Tai*_*and 4 c++ windows dll visual-studio

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

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

fat*_*ihk 6

根据经验,您可以在一组称为API的标头中收集要向最终用户公开的所有公共方法.此时,您应该区分内部标头和API标头,您将看到您的标头文件编号(API标头)将减少,文件结构的管理将更容易.


Jam*_*nze 5

交付库时有三个基本组件:

  • 几个版本库本身:.soUnix下,.dll.lib在Windows下,与版本进行调试,优化的版本,可能是多线程和单线程的,可能与轮廓化的版本激活... 支持静态链接(.aUnix下,.lib在Windows下,但不你需要链接DLL),

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

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

更少,客户将无法使用它.

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