获取函数或程序相关的源码

如何获取某个函数或程序源代码:

1 百度、google搜索,下载相关的源代码(这个就不说了,下面介绍方法2)

2、 gnu网站下载(manual手册和package都能下),搜索相关的包即可下载(www.gnu.org:进入software--> 自由软件目录--> 查找相应的包即可,如libc)

还提供了git下载的链接,可以用git clone进行下载。如下图:

 

问题来了:如何确定相应的程序在哪个包下呢?

下面以Centos为例,查看ls命令位于哪个包:

#which ls       #这个是注释:which  找出shell命令的安装路径

/bin/ls

找出该档案属于哪一个安装的软件:

#rpm –qf /bin/ls         #Debian版本如Ubuntu使用: dpkg –S/bin/ls

coreutils-xxx-xxx     #说明命令属于coreutils-xxx-xxx安装包

 

另外,如何找出函数对应的库呢,不清楚的话可以使用下面的方法:

写个程序编译一下,生成so库(gcc -shared -fpic -o libxxx.so xxx.c),然后用ldd 或者readelf –d 查看一下,即可以找到库名,然后用nm 或(readelf –s )命令确认一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值