创建静态库/动态库一定要有头文件吗?为什么?

整理自百度知道:https://zhidao.baidu.com/question/577526027.html

 

不一定需要。创建一个库一般处于一下两种目的:
1、把一些相关的代码,打包成一个库,发布给其它的人用。
这中情况是最常见的情况,如写 C 语言用到 libgcc。在这种情况下,你除了提供库文件:静态库[ windows 下 .lib,linux .a];动态库:[Windows 下 .dll,Linux 下 .so] 之外,必须提供头文件。头文件是你这个库里面提供了那些接口可以供外界使用。如果没有头文件,其他人无法使用。

2、为某些软件写插件。
很多大的项目,都是模块化设计,留有一些特定的接口,方便定制。当程序运行时,会动态加载制定目录下的动态库,运行时调用动态库里面约定好的方法。
这种情况无需提供头文件,但要按照特定的约定来实现这个库。

大概就是以上这些情况。

你可能感兴趣的:(创建静态库/动态库一定要有头文件吗?为什么?)