社区
C语言
帖子详情
c语言中的函数是封装成静态库还是动态库?
JZY4077
2010-12-01 01:51:28
c语言中的函数是封装成静态库还是动态库,望高手讲解一下!
...全文
321
5
打赏
收藏
c语言中的函数是封装成静态库还是动态库?
c语言中的函数是封装成静态库还是动态库,望高手讲解一下!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luciferisnotsatan
2010-12-01
打赏
举报
回复
通常是两个版本都有的
xunxun
2010-12-01
打赏
举报
回复
这个和编译器有关
看你是什么函数
一般情况下,printf那些输入输出的核心在系统的crt中,这个有静态的有动态的。
而由编译器实现的函数和编译器是如何编译的有关,你可以把这些库弄成动态或是静态的(如果你有编译器的源代码的话,比如gcc)。
naturemickey
2010-12-01
打赏
举报
回复
标准函数库在编译器中默认都是静态的。
ouyh12345
2010-12-01
打赏
举报
回复
都可以
标准c的库函数是在lib里
珍惜生命远离CPP
2010-12-01
打赏
举报
回复
都有,看你需要啥。
C语言
静态库
、
动态库
的
封装
和注意事项
C语言
静态库
、
动态库
的
封装
和注意事项
C语言
封装
静态库
/动态链接库
静态库
需要放到项目
中
,他会跟随项目一同打包为exe文件,所以如果exe用到的组件较多,那么他的文件体积会很大,并且每个程序的代码区都会有一份
静态库
,会造
成
空间浪费。动态链接库是独立在exe外边的,它属于资源共享,谁想用谁就调用它即可,并且升级也很简单,只要更新自己就行,因为不需要打包在exe文件内,所以文件体积也会较小。将.lib文件加入到测试项目
中
,可以观察到动态链接库的lib比
静态库
的lib要小很多。.h是开发用的,.lib是引导调用的,.dll是真正的程序。在头文件
中
加入头文件,源文件
中
加入源代码。
C语言
丨
静态库
与
动态库
的区别,你知道多少?
在编程的过程
中
,使用已经
封装
好的库
函数
是十分方便的,也是十分高效的,因此会使用
函数
库是很重要的。在
C语言
中
,
函数
库文件分为两种类型,一种是
静态库
(库程序是直接注入目标程序的,不分彼此,库文件通常以.a结尾),另一种是
动态库
(库程序是在运行目标程序时(
中
)加载的,库文件通常以.so结尾),下面我们就探索一下。
静态库
的链接就是这样的。
静态库
和
动态库
的最大区别是,
静态库
链接的时候把库直接加载到程序
中
,而
动态库
链接的时候,它只是保留接口,将
动态库
与程序代码独立,这样就可以提高代码的可复用度和降低程序的耦合度。
C语言
静态库
与
动态库
库 是一种代码的二进制的
封装
形式,将.o文件打包
封装
就
成
了库。库可以在任何地方使用,但用户却不能看见他的具体实现。库有利于代码模块化,只要接口设计得合理,改变库的内部实现,不会影响到用户级别的代码使用。
《
C语言
杂记》
静态库
和
动态库
(Linux版)
1
静态库
和
动态库
概述 库是一种软件组件技术,库里面
封装
了数据和
函数
。库的使用可以使程序模块化。库有两种:
静态库
和
动态库
。Windows系统包括静态链接库(.lib文件)和动态链接库(.dll文件)。Linux通常把库文件存放在/usr/lib或/lib目录下。Linux库文件名由:前缀lib、库名和后缀3部分组
成
,其
中
动态链接库以.so作为后缀,静态链接库通常以.a作为后缀。 何为
静态库
和
动态库
?
静态库
(Static library, Statically-linked library, LIB)或称静态
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章