手撕Linux系列之Linux下静态库和动态库的使用以及gdb调试

本文详细介绍了如何使用GCC构建静态库(包括目标文件生成、打包成.a文件并移动到系统库目录,以及链接时的格式)以及动态库(涉及-fpic选项、.so文件打包和软连接更新方法)。同时强调了GDB在调试中的重要性。
摘要由CSDN通过智能技术生成

静态库

step1 :

主文件先生成目标文件,再把要作为静态库的文件生成目标文件
gcc -c xxx.c -o xxx.o

step2:

打包成静态库文件
ar crsv libxxx.a xxx.o
其中lib和.a为固定格式

step3:

移动到系统家目录下的lib即/usr/lib

step4:

连接时加上lxxx
例如:你的静态库文件名字为libadd.a
那就这样的格式
gcc 主文件.o -o test -ladd
其中-l为固定格式,再加上lib后面的字母即可

动态库

step1:

主文件先生成目标文件,再把要作为动态库的文件生成目标文件,注意加上-fpic
gcc -c xxx.c -o xxx.o -fpic

step2:

打包成动态文件
gcc -shared xx.o -o libxx.so

step3:

移到到/usr/lib

step4:

gcc 主文件.o -o test -lxx

例如:

 软连接进行更新动态库

首先在usr/lib中删除这个

sudo rm libxxx.so

其次软连接

sudo ln -s libxxx.so.o.1 libky.so

例如:

 然后

 

 这样方便回退版本

gdb调试

编译时要加上

不会就help xx,gdb对于写程序时很重要

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值