尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

静态库.a与.so库文件的生成与使用

静态库.a与.so库文件的生成与使用
📅 发布时间:2026/6/20 8:55:08

任务一.用gcc生成静态库和动态库
1.1在ubuntu系统中创建一个目录来保存程序文件并编辑三个程序hello.h,hello.c,main.c。
先通过后端代码创建目录

屏幕截图 2025-10-06 021430
然后用vim文本编辑器编辑三个程序文件
程序1 hello.h:

屏幕截图 2025-10-06 021753
程序2 hello.c:

屏幕截图 2025-10-06 022420
程序3 main.c:

屏幕截图 2025-10-06 022605
1.2将hello.c文件编译成.o文件

屏幕截图 2025-10-06 023136
1.3通过生成的.o文件生成静态库
静态库文件的命名规范是以lib为前缀,然后跟静态库名,扩展名为.a。创建静态库用ar命令。

屏幕截图 2025-10-06 023933
1.4在程序中使用静态库
在调用静态库的内部函数时,需要在使用到这些公用函数的程序中包含公用函数的原型声明,然后在用gcc命令生成目标文件时指明静态库名,gcc将会从静态库中将公用函数连接到目标文件中。下面先生成目标程序hello,然后再运行它,看是否能实现程序功能。

屏幕截图 2025-10-06 032305
成功实现了程序功能。
1.5通过生成的.o文件生成动态库
动态库文件命名规范与静态库类似,都是以lib为前缀然后跟库名,只不过它的扩展名为.so。通过在终端输入命令创建动态库

屏幕截图 2025-10-06 033243
1.6在程序中使用动态库
在程序中使用动态库的方式与静态库完全一致。下面先生成目标文件,然后再运行它,看是否能成功实现程序功能。

屏幕截图 2025-10-06 034819
通过实际操作,我发现确实可以生成目标文件hello,但是再运行它时会出现错误,无法正常运行。通过理解显示的错误原因,我发现原来是因为找不到动态库文件libmyhello.so。程序在运行时,会先在/usr/lib和/lib等目录中查找需要的动态库文件。若找到,则载入动态库,程序正常运行。若没有找到,则会出现错误,程序无法正常运行。之后我们将动态库文件libmyhello.so复制导入到/usr/lib中,发现目标文件可以正常运行。

相关新闻

  • 通过利用百度对于外链的检测算法上的缺陷
  • 深入解析:预览pdf(url格式和blob格式)
  • 线性偏微分方程和非线性偏微分方程的区别

最新新闻

  • 揭秘AI教材编写:低查重AI工具助力,快速产出优质教材!
  • 仿真时序精度陷阱:从timescale作用域到跨模块参数传递的实战解析
  • 从数据手册到实战:MAX31856热电偶测温芯片全解析
  • 2026年荆门市贵金属旧料回收优质靠谱实体门店精选五家 黄金回收铂金回收白银回收彩金回收真实探店测评清单及联系方式推荐 - 前途无量YY
  • 2026年荆州市贵金属旧料回收优质靠谱实体门店精选五家 黄金回收铂金回收白银回收彩金回收真实探店测评清单及联系方式推荐 - 前途无量YY
  • 「指南」从零到一:Conda环境管理与实战避坑

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号