首页 > 其他分享 >静态库与动态库的制作与使用

静态库与动态库的制作与使用

时间:2023-01-08 17:45:14浏览次数:34  
标签:gcc lib .. 静态 app cd PATH 动态 制作

目录结构

静态库制作与使用

cd src

# 汇编生成.o文件
gcc add.c div.c mult.c sub.c -c -I../include

# 生成静态库
ar rcs libcalc.a add.o div.o mult.o sub.o
mv libcalc.a ../lib/

cd ..

# 生成可执行文件 app
gcc main.c -o app -Iinclude -Llib -lcalc

# 执行
./app

动态库制作与使用

cd src

# 生成与位置无关的.o文件
gcc add.c div.c mult.c sub.c -c -I../include -fPIC

# 生成动态库
gcc add.o div.o mult.o sub.o -shared -o libcalc.so
mv libcalc.so ../lib/

cd ..

# 生成可执行文件 app
gcc main.c -o app -Iinclude -Llib -lcalc

# 执行
LD_LIBRARY_PATH=lib ./app

动态库加载问题的解决

修改环境变量 LD_LIBRARY_PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lyc/project/lib

  • 命令行配置
  • 用户级别配置修改 ~/.bashrc
  • 系统级别配置修改 /etc/profile
    后两种修改完记得进行 source 操作(. .bashrc),使之立即生效

修改 /etc/ld.so.conf

粘贴 /home/lyc/project/lib 在文件末尾
执行 ldconfig 命令

将自己写的动态库文件放在 /lib 或 /usr/lib(不推荐)

标签:gcc,lib,..,静态,app,cd,PATH,动态,制作
From: https://www.cnblogs.com/cong0221/p/17034820.html

相关文章

  • C++核心知识回顾(函数&参数、异常、动态分配)
    复习C++的核心知识函数与参数传值参数、模板函数、引用参数、常量引用参数传值参数intabc(inta,intb,intc){returna+b*c;}a、b、c是函数abc的形参,下......
  • python使用ntp动态校正时间
    使用ntpudp链接服务器(例如:ntp2.aliyun.com),端口为123,发送48bytes(第一字节为0x1b,后面为0),接收48bytes,解析即可.代码如下:importsocketimportstructimpor......
  • 快速部署Apache服务静态网站
    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.它快速、可靠并且......
  • 【学习笔记】动态树 Link-Cut Tree
    -闲话LCT优秀博客:FlashHu大佬的cnblogs:https://www.cnblogs.com/flashhu/p/8324551.html-动态树Link-CutTree-前置知识「必学」Splay。「重要」树链剖分......
  • 动态规划-背包
    先看动态规划之背包问题系列,以下为重点摘录动态规划的本质是从子状态推出当前状态,且无后效性;需要我们合理地定义状态。最大作用相比dfs避免重复计算注:本文问题均可......
  • 11.动态SQL
    什么是动态SQL:动态SQL就是指根据不同的条件生成不同的SQL语句if:这条语句提供了可选的查找文本功能。//动态sql--ifList<Blog>getBlog(Map<String,Object>map);<s......
  • WPF 静态资源的方式绑定DataContext
    这样的方式比用代码直接赋值有个好处,那就是能个实时的显示绑定效果。IDE还可以提示和F12进行跳转定位。XAML:<Windowx:Class="MyWPFSimple5.MainWindow"xm......
  • 【动态规划】(一)理解动态规划
    很早以前就接触了动态规划,然而那时候的我对动归的理解就是背转移方程,结果题目稍微变一下形就不会辣。于是我打算写这篇博客,来总结自己对动态规划的认识,以及自己少得可怜的......
  • nginx配置访问图片等静态资源
    nginx配置访问图片等静态资源配置:通过使用别名属性alias配置真是图片路径即可location/public/uploads/{alias/www/wwwroot/quick.com/v2.0.0/dist/pu......
  • 父子组件的v-modle双向数据绑定,ref和$refs,$nextTick,动态组件(component组件),自定义指令,
    父子组件的双向数据绑定我们先完成双向数据绑定,然后完成v-model的双向数据绑定父组件引入子组件,然后对子组件进行传值,动态显示出来名称<model:value=name></model>......