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

linux课程学习三——静态/动态库的创建

一.Linux操作系统函数库的分类

Linux操作系统支持的函数库分为:


静态库,libxxx.a,在编译时就将库编译进可执行程序中。
优点:程序的运行环境中不需要外部的函数库。
缺点:可执行程序大


动态库,又称共享库,libxxx.so,在运行时将库加载到可执行程序中。
优点:可执行程序小。
int fgetc(FILE *fp)
int fputc(int c, FILE *fp)
缺点:程序的运行环境中必须提供相应的库。
函数库目录:/lib /usr/lib

ls -l  *.a查看静态库有哪些   ls -l  *.so查看动态库有哪些

二.静态库创建

写man.c与sub.c文件内容如下,写好后去执行man.c,会显示sub函数没有定义,所以不能生成a.out,这就要根据上面的步骤去写

步骤一   生成目标文件:gcc -c file.c .o

执行gcc sub.c -c -o sub.o

查看目录,可以看到已经生成了sub.o目标文件

步骤二:ar ‐cr -o libfile.a(静态库) file.o(目标文件) 创建静态库

步骤三:执行 gcc man.c -L. -lsub

这时虽然有警告,但是可以看到a.out已经生成了,去执行结果也是对的

三.动态库的创建

第一步创建目标文件

把静态库创建的sub.0删除,执行gcc -c -o sub.o sub.c,再次创建sub.o目标文件

第二步:gcc -shared -fpic -o libfile.so file.o

gcc -shared -fpic -o sub.so sub.o

相关文章:

  • 使用无人机进行露天矿运输道路分析
  • js中三元表达式(条件运算符)的用法总结
  • VCP考试通过率低?
  • vs2022中使用spdlog、C++日志
  • 时序数据库 InfluxDB(五)
  • 文件分享系统--开源的可视化文件共享管理工具
  • LeetCode 438. 找到字符串中所有字母的异位词
  • 9、tlm 事务交互通信
  • 【11408学习记录】破译语言密码·征服数学迷宫——长难句拆解与方程不等式全析
  • RK3588使用笔记:系统算法依赖库安装
  • Linux信号——信号的产生(1)
  • 自然语言处理(18:(第五章3.)LSTM的实现)
  • 【算法1-5】贪心
  • 一文详解VS2022配置LibTorch环境:Windows平台LibTorch CUDA与cuDNN开发环境配置
  • marked库(高效将 Markdown 转换为 HTML 的利器)
  • 算法训练营第二十九天 | 动态规划(二)
  • TS 中 keyof 和 in 关键字详解
  • 使用Vscode的Remote-SSH通过ssh密钥免输入密码连接远程服务器
  • Java NIO之FileChannel 详解
  • unity客户端面试高频2(自用未完持续更新)
  • 特色美食网站建设/如何做关键词优化
  • 海淀深圳网站建设公司/google图片搜索引擎入口
  • 沈阳网站建设/必应搜索网站
  • 网站超链接怎么做/开发网站用什么软件
  • 政府网站建设可行性研究报告 baidu/衡阳seo优化推荐
  • 网站建设进度图/产品seo基础优化