我目前正在制作一个可重复使用代码的小型库,这个代码已经被证明是有用的,并且我想知道库通常是如何部署的?我的印象是.dll和.lib就足够了,但是,我如何引用类和函数?图书馆是否常常附带很多.h文件或者有更优雅的解决方案?
如何部署使用该库的实际应用程序?一旦静态链接,我还需要发送.dll文件还是在程序中复制库的内容?
答案 0 :(得分:6)
根据经验,您可以在一组称为API的标头中收集要向最终用户公开的所有公共方法。此时,您应该区分内部标头和API标头,您将看到您的标头文件编号(API标头)将减少,文件结构的管理将更容易。
答案 1 :(得分:5)
交付图书馆时有三个基本要素:
库本身的几个版本:Unix下的.so
,Windows下的.dll
和.lib
,版本用于调试,优化版本,可能是多线程和单线程,可能是带有分析的版本... 和支持静态链接(在{1}}下的Unix,.a
在Windows下,但不是你需要链接DLL的那个,
定义外部接口的标头,
文档,解释如何安装和链接库,每个版本需要哪些编译器选项等,以及库本身的文档(前后文件) - 每个功能的条件等。)
更少,客户也无法使用它。
关于部署,同样应该记录下来。如果客户端静态链接库,则不需要任何内容;如果他动态链接它,那么他还需要部署.lib
/ .so
个文件。