创建静态库/动态库一定要有头文件吗?为什么?
发布网友
发布时间:2022-05-01 12:39
我来回答
共1个回答
热心网友
时间:2023-10-12 18:45
不一定需要。创建一个库一般处于一下两种目的:
1、把一些相关的代码,打包成一个库,发布给其它的人用。
这中情况是最常见的情况,如写
C
语言用到
libgcc。在这种情况下,你除了提供库文件:静态库[
windows
下
.lib,linux
.a];动态库:[Windows
下
.dll,Linux
下
.so]
之外,必须提供头文件。头文件是你这个库里面提供了那些接口可以供外界使用。如果没有头文件,其他人无法使用。
2、为某些软件写插件。
很多大的项目,都是模块化设计,留有一些特定的接口,方便定制。当程序运行时,会动态加载制定目录下的动态库,运行时调用动态库里面约定好的方法。
这种情况无需提供头文件,但要按照特定的约定来实现这个库。
大概就是以上这些情况。
热心网友
时间:2023-10-12 18:45
不一定需要。创建一个库一般处于一下两种目的:
1、把一些相关的代码,打包成一个库,发布给其它的人用。
这中情况是最常见的情况,如写
C
语言用到
libgcc。在这种情况下,你除了提供库文件:静态库[
windows
下
.lib,linux
.a];动态库:[Windows
下
.dll,Linux
下
.so]
之外,必须提供头文件。头文件是你这个库里面提供了那些接口可以供外界使用。如果没有头文件,其他人无法使用。
2、为某些软件写插件。
很多大的项目,都是模块化设计,留有一些特定的接口,方便定制。当程序运行时,会动态加载制定目录下的动态库,运行时调用动态库里面约定好的方法。
这种情况无需提供头文件,但要按照特定的约定来实现这个库。
大概就是以上这些情况。