记一下Linux下动态库与静态库的生成与使用
2021/11/3 7:11:42
本文主要是介绍记一下Linux下动态库与静态库的生成与使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
用来练习静态库和动态库
生成静态库
1.gcc -c hello.c
-c告诉gcc只编译,不链接
2.ar rcs hello.a hello.o
r - 如果存在则替换c
c - 如果目标不存在则创建
s -为目标文件创建索引
使用静态库
gcc -g3 -o testlib testlib.c hello.a
想提供.c那样提供给gcc就行了
===================================================================================================================
生成动态库
gcc -fPIC -shared -o libhello.so hello.c
构建时使用动态库
gcc -g3 -o testdlib testlib.c -L. -lhello
-L 指定搜索so的路径 -l 指定要链接的so,lib前缀可以省略
ld搜索so的顺序
构建时指定的位置->LD_LIBRARY_PATH变量定义的位置->/etc/ld.so.cache定义的位置*->默认位置/lib和usr/lib(/lib64和/usr/lib64)
5种动态库的使用方法
1.sudo cp libhello.so /usr/lib •使用默认位置
2.构建时使用rpath指定
3.临时指定LD_LIBRARY_PATH
4.通过bashrc脚本修改LD_LIBRARY_PATH
5.向ld.so.conf.d目录放入文件
这篇关于记一下Linux下动态库与静态库的生成与使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南