Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so
2015-08-01 09:28
525 查看
1、nm [options] file 列出file中的所有符号
[option]
-c 将符号转化为用户级的名字
-s 当用于.a文件即静态库时,输出把符号名映射到定义该符号的模块或成员名的索引
-u 显示在file外定义的符号或没有定义的符号
-l 显示每个符号的行号,或为定义符号的重定义项
2、ar {dmpqrtx} [member] archive file 用于操作高度结构化的存档文件(.a)
[options]
-c 创建存档文件
-s 创建或升级从符号到定义他们的成员之间的交叉索引映射表
-r 替换archive中的同名文件或添加新文件
-q 不检查而直接添加文件到存档文件的末尾
ranlib [-v|-V] file 的作用跟ar -s file相同
3、ldd [options] file 列出file运行所需的共享库
[options]
-d 执行重定位并报告所有丢失的函数
-r 执行对函数和对象的重定位并报告丢失的任何函数或对象
4、 ldconfig [options] [libs] 决定位于目录/usr/lib和/lib下的共享库所需的运行的链接,这些链接由[libs]指定并被保存到/etc/ld.so.conf中
[options]
-p 打印文件/etc/ld.so.conf的内容
-v 更新/etc/ld.so.conf
5、 ld.so 动态链接/加载器
ld.so使用的两个环境变量
$LD_LIBRARY_PATH 告诉ld.so去哪里查找保存在非标准目录下的共享库,冒号分隔,对应文件/etc/ld.so.conf
$LD_PRELOAD告诉ld.so用户指定的在所有库加载之前加载的库所在的目录,空格分隔,对应文件/etc/ld.so.preload
[option]
-c 将符号转化为用户级的名字
-s 当用于.a文件即静态库时,输出把符号名映射到定义该符号的模块或成员名的索引
-u 显示在file外定义的符号或没有定义的符号
-l 显示每个符号的行号,或为定义符号的重定义项
2、ar {dmpqrtx} [member] archive file 用于操作高度结构化的存档文件(.a)
[options]
-c 创建存档文件
-s 创建或升级从符号到定义他们的成员之间的交叉索引映射表
-r 替换archive中的同名文件或添加新文件
-q 不检查而直接添加文件到存档文件的末尾
ranlib [-v|-V] file 的作用跟ar -s file相同
3、ldd [options] file 列出file运行所需的共享库
[options]
-d 执行重定位并报告所有丢失的函数
-r 执行对函数和对象的重定位并报告丢失的任何函数或对象
4、 ldconfig [options] [libs] 决定位于目录/usr/lib和/lib下的共享库所需的运行的链接,这些链接由[libs]指定并被保存到/etc/ld.so.conf中
[options]
-p 打印文件/etc/ld.so.conf的内容
-v 更新/etc/ld.so.conf
5、 ld.so 动态链接/加载器
ld.so使用的两个环境变量
$LD_LIBRARY_PATH 告诉ld.so去哪里查找保存在非标准目录下的共享库,冒号分隔,对应文件/etc/ld.so.conf
$LD_PRELOAD告诉ld.so用户指定的在所有库加载之前加载的库所在的目录,空格分隔,对应文件/etc/ld.so.preload
相关文章推荐
- linux 目录结构
- Boost下载安装编译配置使用指南(含Windows和Linux)
- linux 查看文件系统类型
- linux 查看文件系统类型
- PXE新手经典思路引导
- CentOS6 下编译安装 MySQL 5.6.26
- CentOS7 Mysql ERROR1045&1044解决
- 在CentOS上搭建LAMP+vsftpd环境的简单指南
- Linux磁盘清理
- 关于linux永久内核映射思想的阐述
- 格式化10T硬盘为ext4
- SSD优化
- linux 服务端口号大全
- linux下执行mysql的sql文件
- linux 系统tty、pty和pts 的概念及区别
- 29个你必须知道的Linux命令
- 29个你必须知道的Linux命令
- linux性能评测工具2-Google perftools
- linux编译警告信息
- Linux - Windows10连接linux服务器