要调用动态库必须要包含头文件吗
答案:2 悬赏:40
解决时间 2021-02-21 15:41
- 提问者网友:相思瘸子
- 2021-02-21 10:39
要调用动态库必须要包含头文件吗
最佳答案
- 二级知识专家网友:瘾与深巷
- 2021-02-21 10:58
不一定需要。创建一个库一般处于一下两种目的:
1、把一些相关的代码,打包成一个库,发布给其它的人用。
这中情况是最常见的情况,如写 C 语言用到 libgcc。在这种情况下,你除了提供库文件:静态库[ windows 下 .lib,linux .a];动态库:[Windows 下 .dll,Linux 下 .so] 之外,必须提供头文件。头文件是你这个库里面提供了那些接口可以供外界使用。如果没有头文件,其他人无法使用。
2、为某些软件写插件。
很多大的项目,都是模块化设计,留有一些特定的接口,方便定制。当程序运行时,会动态加载制定目录下的动态库,运行时调用动态库里面约定好的方法。
这种情况无需提供头文件,但要按照特定的约定来实现这个库。
大概就是以上这些情况。
1、把一些相关的代码,打包成一个库,发布给其它的人用。
这中情况是最常见的情况,如写 C 语言用到 libgcc。在这种情况下,你除了提供库文件:静态库[ windows 下 .lib,linux .a];动态库:[Windows 下 .dll,Linux 下 .so] 之外,必须提供头文件。头文件是你这个库里面提供了那些接口可以供外界使用。如果没有头文件,其他人无法使用。
2、为某些软件写插件。
很多大的项目,都是模块化设计,留有一些特定的接口,方便定制。当程序运行时,会动态加载制定目录下的动态库,运行时调用动态库里面约定好的方法。
这种情况无需提供头文件,但要按照特定的约定来实现这个库。
大概就是以上这些情况。
全部回答
- 1楼网友:山鬼偶尔也合群
- 2021-02-21 12:37
1、c语言任何时候都需要库函数和头文件。c语言本身是没有什么作用的,它靠的就是函数库来执行语句的,c语言就是由函数构成的。头文件更是不能少了,但是只有#include“stdio.h”这个头文件在整个程序里只有printf和scanf这两种输出输入语句时才可以省略#include“stdio.h”这个头文件不写,如果程序还有其他输入输出语句出现时(比如putchar等输入语句)就一定要写#include“stdio.h”这个头文件,不能省略。
2、例如“内置函数”像printf、strcpy这类的系统库函数吧,在编译的过程中,编译器会根据包含的头文件查找相应的库进行连接编译,如果没有包含头文件的话,系统里面有很多库文件,编译器就无法找到对应的文件进行编译。也有的编译器会在用户忘记包含头文件的情况下进行自动查找,但是这一个过程会相当慢。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |