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

Linux 基本语句_5_创建静态库|动态库

静态库

创建主函数:main.c 应用函数:add.c、sub.c、mul.c

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建calc.h文件作为头文件
在这里插入图片描述

生成可执行文件*.o文件

gcc -c add.c -o add.o
....

包装*.o文件为静态库

ar -rc libmymath.a add.o sub.o mul.o

编译静态库并指明创建静态库的位置

sudo gcc main.c -static -L. -lmycalc -o static_main

运行主函数

./static_main

在这里插入图片描述

动态库

将.c文件编译成可执行*o文件

sudo gcc -c -fPIC add.c -o add.o
gcc -c -fPIC sub.c -o sub.o
gcc -c -fPIC mul.c -o mul.o

包装成动态库文件

sudo gcc -shared -o libmycalc.so add.o sub.o mul.o

编译主函数

gcc main.c -L. -lmycalc -o shared_main

配置动态库路径环境

LD_LIBRARY_PATH=.
export LD_LIBRARY_PATH  //使配置生效

运行函数

./shared_main

在这里插入图片描述

http://www.lryc.cn/news/178055.html

相关文章:

  • 【每日一题】2703. 返回传递的参数的长度
  • 虚拟DOM详解
  • Linux配置命令
  • Kafka:介绍和内部工作原理
  • 在 EMR Serverless 上使用 Delta Lake
  • Stream流的使用详解(持续更新)
  • golang工程——gRpc 拦截器及原理
  • Python接口自动化之unittest单元测试
  • 在亚马逊云科技Amazon SageMaker上部署构建聊天机器人的开源大语言模型
  • 【51单片机】10-蜂鸣器
  • 26377-2010 逆反射测量仪 知识梳理
  • css实现渐变电量效果柱状图
  • FileManager/本地文件增删改查, Cache/图像缓存处理 的操作
  • vue中使用富文本编辑器
  • 13.(开发工具篇github)如何在GitHub上上传本地项目
  • vue3中状态适配
  • uniapp h5 端 router.base设置history后仍有#号
  • 上网行为监管软件(上网行为管理软件通常具有哪些功能)
  • C#中的for和foreach的探究与学习
  • 【ES6知识】Promise 对象
  • 【Git】配置SSH密钥实现Git操作免密
  • AI能给百融云带来什么?
  • AI创作系统ChatGPT商业运营版源码+AI绘画/支持GPT联网提问/支持Midjourney绘画+Prompt应用+支持国内AI提问模型
  • vue.draggable拖拽,项目中三个表格互相拖拽的实例操作,前端分页等更多小技巧~
  • 400G DR4 QSFP-DD光模块:数据中心应用全攻略
  • 自动驾驶:路径规划概述
  • vlc将本地文件推流成ts实时流
  • C# 自定义控件库之Lable组合控件
  • 解密防关联指纹浏览器:联盟营销领域的秘密武器
  • asp.net core mvc Razor +dapper 增删改查,分页(保姆教程)