当前位置: 首页 > news >正文

库文件详解

1.库文件概念

库文件:预先编译好的方法集合

举例说明:例如,printf()是一个库函数,它的声明在stdio.h。

而它的实现在C库中,库又分为静态库 (libxx.a)共享库(libxx.so)(windows动态链接库)

2.看看Linux系统的头文件和库文件在哪里

我们先去根目录找到usr文件夹,里面的include文件夹中全是头文件

库文件是是头文件中方法的具体实现。库文件存放的标准目录为/usr/lib下面。

其中.a结尾的就是静态库,.so为共享库。

3.自己实现一个静态库

现在我们实现一个加法一个比大小的功能,把这两个功能写在foo.c中。

之后我们做库。

第一步:使用下面的命令先将它编译。

gcc -c foo.c

这里的foo.o文件,就是编译好的二进制文件。

第二步:好的我们现在打包成库,使用下面的命令,

ar crv libfoo.a(库名) foo.o(要打包的方法)

现在就将他们加到静态库a中,libfoo.a就是我们的静态库,如下图所示:

如何使用呢?我们将给出演示,

第三步:我们先写一个main.c程序调用我们的方法

补充:

第四步:之后使用下面的命令对其进行编译,命令如下:

gcc -o main main.c -L. -lfoo

gcc -o main main.c -L(指定库所在位置).(代表当前位置) -l(后面跟着库的名字,库名字不要加后缀)

编译成功,执行成功。

总结:静态库 程序使用静态库,编译后,用到的库方法会复制到生成的可执行程序中。可以直接运行当前程序,不需要再去链接静态库

4.共享库的用法

第一步:先将foo.c进行编译生成.o文件

gcc -c foo.c

第二步:先做一个共享库

gcc -shared -fPIC -o libfoo.so foo.o

第三步:对mian.c进行编译

gcc o main main.c -L.-lfoo

第四步:移动到/lib

MV libfoo.so /lib

第五步:直接运行./main

./main

总结:

共享库: 程序使用共享库,编译连接后,可执行程序只标记用到的库方法,并不包含。运行程序时,动态链接用到的库。

5.共享库和静态库的区别

http://www.dtcms.com/a/484275.html

相关文章:

  • 潍坊网站建设官网顺德移动端网站建设
  • 生成式人工智能赋能普通高中理科教学的创新路径研究
  • 做网站数据需要的软件上海企业云服务平台
  • app和手机网站的区别是什么青岛网站seo分析
  • 响应式网站无法做联盟广告ui培训学校
  • wordpress用法宁波优化seo是什么
  • 西宁好的网站建设天翼云免费服务器
  • 02117 信息组织【第二章】
  • phpstudy如何建设网站微信网站开发价格
  • 专做动漫解说的网站合肥市蜀山区建设局网站
  • Python使用pip时报错:ERROR: No matching distribution found for requirements.txt
  • 游戏钓鱼网站怎么做房地产网站开发
  • 2016企业网站建设合同wordpress自助建站
  • 第1章 变量与注释-Python工匠:案例、技巧与工程实践
  • 沂南做网站上海网上推广
  • 河南省建设工程标准定额管理网站如何创建自己的app平台
  • 知名高端网站建设企业国内做设计的网站有哪些方面
  • 网站域名和空间区别重庆优化seo
  • 网站制作公司crm客户管理系统网站后台账户如何做会计分录
  • 网站关键字优化电脑做网站主机空间
  • 卫星姿轨控中的旋转矩阵:向量旋转与坐标系变换的深入解析
  • 如何找网站制作有优惠券网站 怎么做代理
  • 变量的生命周期
  • sae网站代备案免费网站制作申请
  • 安庆商务网站建设免费看视频的软件是什么
  • 推荐一个做淘客网站etherna 简洁商业企业wordpress
  • 网站制作案例如何wordpress英文站更新通知目录
  • vllm 启动的参数解释,怎么才能将显存用到极致
  • 中国建设银行公积金网站首页免费学校网站管理系统
  • 北京网站建设分析论文优惠劵网站怎么做