Linux ldd

在linux中, ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系。
hello.h 中的内容

#ifndef HELLO_H
#define HELLO_H
#include <stdio.h>
void HelloFunc();
#endif

hello.c中的内容

#include "hello.h"
void HelloFunc()
{
	printf("Hello World\n");
}

cmake动态库编译hello.c生成libhello.so,将该库安装于/usr/lib/下,动态库帮本号1.2。

mian.c中调用hellFunc接口,内容如下:

#include <hello.h>
int main(int argc, char** argv)
{
	HelloFunc();
	return 0;
}

cmake 链接动态库libhello.so生成二进制可执行文件main,执行ldd *

如上ldd列出了文件夹下文件的依赖关系。可看出可执行文件main依赖于libhello.so这个动态库,该库位于、usr/lib下。

如果链接静态库的话;

 说明,main确实链接到了静态库libhello.a。

在实际linux开发与调试中, 要经常查看动态库依赖关系, ldd用得还是比较多的, 特别是出现故障的时候。OK, ldd命令就简单介绍到这里了, 虽然简单, 但很实用, 故不可不知。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值