博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下静态库和动态库的创建和使用( 转载 )
阅读量:4053 次
发布时间:2019-05-25

本文共 639 字,大约阅读时间需要 2 分钟。

 
 
在Linux下进行C/C++开发经常要创建和使用库,包括静态库和动态库(共享库)。静态库文件的扩展名是.a,其命名规则是libxxx.a,动态库的扩展名是.so,其命名规则是libxxx.so。静态库和动态库在链接调用的是都是-lxxx。下面讲一下静态库和动态库具体创建和使用
 
 
(1)静态库
 
 
 
 
假如我们要将源文件test.c编译成静态库,首先,源文件编译成目标文件
 
 
 
 
 
 
 
 
gcc-c test.c
 
 
 
编译成功之后会生成目标文件test.o,然后由目标文件创建成库
 
 
 
 
 
 
 
ar 
crslibtest.a 
 
test.o
 
 
 
创建好库之后,怎么使用呢,比如我们要在编译main.c是使用test库,
 
 
 
 
 
 
 
gcc -o main main.c -L. -ltest
 
 
 
 
 
 
 
-L.表示在当前目录下找库文件
 
 
 
 
 
(2)动态库
 
 
 
创建动态库第一步也是将源文件编译成目标文件,然后又目标文件创建成库
 
 
 
 
 
 
gcc -shared -fPIC 
-o libtest.so test.o
 
 
 
使用时与静态库类似
 
 
 
 
 
 
gcc -o main main.c -L. -ltest
 
 
 
 
 
 
 
在使用动态库时,若不指定库文件目录,既不用-L.,则要设置环境变量LD_LIBRARY_PATH,将其设为当前目录即可。或者将动态库文件拷贝到/usr/lib或/lib中,然后运行ldconfig更新即可,还可以修改/etc/ld.so.conf,将当前目录追加的该文件中
 
 
 
pwd>> /etc/ld.so.conf
然后运行ldconfig命令更新下即可
转载地址:ml
你可能感兴趣的文章
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>
Homebrew指令集
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>
React Native(七):Android双击Back键退出应用
查看>>
Android自定义apk名称、版本号自增
查看>>
adb command not found
查看>>
Xcode 启动页面禁用和显示
查看>>
【剑指offer】q50:树中结点的最近祖先
查看>>
二叉树的非递归遍历
查看>>
【leetcode】Reorder List (python)
查看>>